1.在函式外定義:函式內外都可以訪問,注意兩點:
(1)在函式內企圖直接修改全域性變數的值,報錯
#全域性變數,函式外定義,函式內
a=10
defdemo5():
a+=10
"函式內",a
demo5()
"函式外",a
#結果traceback (most recent call last):
file "c:\python27\print1.py", line 122, in demo5()
file "c:\python27\print1.py", line 119, in demo5
a+=10
unboundlocalerror: local variable 'a' referenced before assignment
>>>
(2)在函式內定義同名的區域性變數,企圖修改值,修改的是函式內的變數,不影響全域性變數的值
#全域性變數,函式外定義,函式內
a=10
defdemo5():
a=100a+=3
"函式內",a
demo5()
"函式外",a
#結果函式內 103函式外 10
2.函式內定義,用global關鍵字修飾,也是全域性變數。這樣可以在函式內修改它的值。
#全域性變數,函式內定義
a=10
defdemo6():
global
a a+=3
"函式內",a
demo6()
"函式外",a
#結果函式內 13函式外 13
python 全域性變數
應該盡量避免使用全域性變數。不同的模組都可以自由的訪問全域性變數,可能會導致全域性變數的不可預知性。對全域性變數,如果程式設計師甲修改了 a的值,程式設計師乙同時也要使用 a,這時可能導致程式中的錯誤。這種錯誤是很難發現和更正的。全域性變數降低了函式或模組之間的通用性,不同的函式或模組都要依賴於全域...
Python 全域性變數
應該盡量避免使用全域性變數。不同的模組都可以自由的訪問全域性變數,可能會導致全域性變數的不可預知性。對全域性變數,如果程式設計師甲修改了 a的值,程式設計師乙同時也要使用 a,這時可能導致程式中的錯誤。這種錯誤是很難發現和更正的。全域性變數降低了函式或模組之間的通用性,不同的函式或模組都要依賴於全域...
python全域性變數
python中global關鍵字主要作用是宣告變數的作用域。在c語言中,由於變數一定是先宣告,後使用,所以我們可以清楚的知道,現在使用的變數是全域性還是區域性,比如 cpp view plain copy inta 5 void test void void test1 void void main...