目標:全域性變數
先看程式:
count = 0
def fuc(count):
print count
count += 1
for i in range(0, 10):
fuc(count)
複製**
結果是:
不是我們想要的結果。
解決之道一——全域性變數:
global a
a = 3
def fuc():
global a
print a
a = a + 1
if __name__ == "__main__":
global a for i in range(10):
fuc()print "hello"
print a
複製**
結果:注意要領:
**需要全域性變數,**宣告一下;但是函式千萬不要傳引數, fuc(a)是不行的。
解決之道二——列表:
a = [3]
def fuc():
print a[0]
a[0] = a[0] + 1
if __name__ == "__main__":
global a
for i in range(10):
fuc()
print "hello"
print a[0]
複製**
結果同上
列表可以比肩簡單的實現,學習之。
python 全域性變數
應該盡量避免使用全域性變數。不同的模組都可以自由的訪問全域性變數,可能會導致全域性變數的不可預知性。對全域性變數,如果程式設計師甲修改了 a的值,程式設計師乙同時也要使用 a,這時可能導致程式中的錯誤。這種錯誤是很難發現和更正的。全域性變數降低了函式或模組之間的通用性,不同的函式或模組都要依賴於全域...
Python 全域性變數
應該盡量避免使用全域性變數。不同的模組都可以自由的訪問全域性變數,可能會導致全域性變數的不可預知性。對全域性變數,如果程式設計師甲修改了 a的值,程式設計師乙同時也要使用 a,這時可能導致程式中的錯誤。這種錯誤是很難發現和更正的。全域性變數降低了函式或模組之間的通用性,不同的函式或模組都要依賴於全域...
python全域性變數
python中global關鍵字主要作用是宣告變數的作用域。在c語言中,由於變數一定是先宣告,後使用,所以我們可以清楚的知道,現在使用的變數是全域性還是區域性,比如 cpp view plain copy inta 5 void test void void test1 void void main...