在工作過程中,在使用全域性變數時遇到了些問題,
有兩個檔案,乙個是tt.py,**如下,
1 #coding=utf82 3 sum_cost = 0
4 5 def cons():
6 global sum_cost #如果要修改全域性變數一定要加gloal宣告,單純的讀取則不用
7 sum_cost += 1
8 print sum_cost
另乙個是cc.py,**如下,
#coding=utf8from tt import sum_cost, cons
print sum_cost
cons()
print sum_cost
個人理解cc裡輸出應該分別是0,1但發現輸出的都是0,
發現呼叫cons()並不會修改cc指令碼裡的全域性變數,也就是說
from tt import sum_cost 引入的變數應該是乙個副本?(個人猜測)
怎樣才能真正使用這個全域性變數呢?解決方法如下了,**如下,
1from tt import
sum_cost, cons
2importtt3
4print
sum_cost
5cons()
6print
sum_cost
7print tt.sum_cost #
加上模組名
加上tt作模組名就解決了這個問題!
python 全域性變數的簡單理解
在工作過程中,在使用全域性變數時遇到了些問題,有兩個檔案,乙個是tt.py,如下,1 coding utf8 2 3 sum cost 0 4 5 def cons 6 global sum cost 如果要修改全域性變數一定要加gloal宣告,單純的讀取則不用 7 sum cost 1 8 pri...
Python中的全域性變數如何理解
python是一種物件導向的開發語言,在函式中使用全域性變數,一般應作全域性變數說明,只有在函式內經過說明的全域性變數才能使用。首先應該說明的是需要盡量避免使用python全域性變數。不同的模組都可以自由的訪問全域性變數,可能會導致全域性變數的不可預知性。對全域性變數,如果程式設計師甲修改了 a的值...
python 全域性變數
應該盡量避免使用全域性變數。不同的模組都可以自由的訪問全域性變數,可能會導致全域性變數的不可預知性。對全域性變數,如果程式設計師甲修改了 a的值,程式設計師乙同時也要使用 a,這時可能導致程式中的錯誤。這種錯誤是很難發現和更正的。全域性變數降低了函式或模組之間的通用性,不同的函式或模組都要依賴於全域...