Python全域性變數

2021-09-01 14:38:21 字數 697 閱讀 6899

python中,在檔案中非函式和類裡寫的變數都是全域性變數,注意if __name__ == '__main__':這個不是函式,所以這個下面寫的變數也是全域性變數。

在函式中,要引用全域性變數,如果只是讀取,可以直接使用,無需宣告global,但是如果要改動,不宣告global的變數被認為是區域性變數。

所以建議在函式中,先用global宣告該變數,再使用,如果要使用同名的區域性變數,那是容易讓人誤解的,那麼最好的辦法是先定義這個變數並給乙個初值(否則初值為全域性變數的值),並做注釋,表明是故意使用這個變數的。當然這種方法很不好,最好的是全域性變數用大寫,或g_開頭,其餘變數小寫,或不用g_開頭。

如下例所示(注意變數不規範):

check = 1

def modify_check1():

check = 0

def modify_check2():

global check

check = 0

def print_check():

print check

print_check()

modify_check1()

print_check()

modify_check2()

print_check()

執行結果:

1

10

python 全域性變數

應該盡量避免使用全域性變數。不同的模組都可以自由的訪問全域性變數,可能會導致全域性變數的不可預知性。對全域性變數,如果程式設計師甲修改了 a的值,程式設計師乙同時也要使用 a,這時可能導致程式中的錯誤。這種錯誤是很難發現和更正的。全域性變數降低了函式或模組之間的通用性,不同的函式或模組都要依賴於全域...

Python 全域性變數

應該盡量避免使用全域性變數。不同的模組都可以自由的訪問全域性變數,可能會導致全域性變數的不可預知性。對全域性變數,如果程式設計師甲修改了 a的值,程式設計師乙同時也要使用 a,這時可能導致程式中的錯誤。這種錯誤是很難發現和更正的。全域性變數降低了函式或模組之間的通用性,不同的函式或模組都要依賴於全域...

python全域性變數

python中global關鍵字主要作用是宣告變數的作用域。在c語言中,由於變數一定是先宣告,後使用,所以我們可以清楚的知道,現在使用的變數是全域性還是區域性,比如 cpp view plain copy inta 5 void test void void test1 void void main...