何時對全域變數使用 Global 關鍵字?

Barbara Streisand
發布: 2024-10-19 12:23:02
原創
386 人瀏覽過

When to Use the Global Keyword for Global Variables?

函數作用域和全域變數

在程式設計中使用函數時,理解作用域的概念非常重要。函數創建自己的私有名稱空間,與全域範圍分開。這意味著函數內聲明的變數只能在該函數內存取。

問題:函數不修改全域變數

考慮以下程式碼:

done = False

def function():
    for loop:
        code
        if not comply:
            done = True

while done == False:
    function()
登入後複製

意圖這段程式碼的作用是當function() 中的done 設定為True 時退出while 循環。然而,在 function() 將 did 設為 True 後,程式碼並沒有退出迴圈。

為什麼會出現這個問題

出現這個問題是因為 function() 中的變數 did 是局部變數變量,在函數的命名空間內創建。它與在函數外部定義的全域變數 did 是分開的。當 function() 給done一個新值時,實際上是修改局部變量,而不是全域變數。

解決方案:使用全域

要解決這個問題,你需要使用global 關鍵字在函數內明確引用全域變數。以下是修正後的程式碼:

def function():
    global done
    for loop:
        code
        if not comply:
            done = True
登入後複製

透過使用 global,您可以確保函數內的 did 變數引用全域範圍中定義的相同變數。這允許您從函數內修改全域變數。

以上是何時對全域變數使用 Global 關鍵字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!