python类定义全局变量_python之全局变量
http://www.cnblogs.com/phoebus0501/archive/2011/01/18/1938728.html
應該盡量避免使用全局變量, 因為:
1) 不同的模塊都可以自由的訪問全局變量,可能會導致全局變量的不可預知性。
對全局變量,如果程序員甲修改了_a的值,程序員乙同時也要使用_a,這時可能導致程序中的錯誤。這種錯誤是很難發現和更正的。
2) 全局變量降低了函數或模塊之間的通用性,不同的函數或模塊都要依賴于全局變量。
同樣,全局變量降低了代碼的可讀性,閱讀者可能并不知道調用的某個變量是全局變量。
但是某些時候,全局變量能夠解決局部變量所難以解決的問題。事物要一分為二。
python中全局變量的使用:
1 聲明法
1) 在文件開頭聲明全局變量: VAR = 0 (將全局變量大寫便于識別)
2) 在具體函數中使用該變量時,需要事先聲明 global VAR, 否則系統將該變量視為局部變量。
VAR = 10 #聲明全局變量
def get_var() :
global VAR #聲明變量為global
print VAR,
VAR += 1
if __name__ == '__main__' :
for i in range(5):
get_var()
#Result: 10 11 12 13 14
2 模塊法(推薦)
1) 把全局變量定義在一個單獨的模塊中:
#global.py
GLOBAL_1 = 1
GLOBAL_2 = 2
GLOBAL_3 = 'Hello World'
2) 然后在另一個模塊中導入全局變量定義模塊,在新模塊中使用全局變量:
import globalValues
def printGlobal():
print(globalValues.GLOBAL_1)
print(globalValues.GLOBAL_3)
globalValues.GLOBAL_2 += 1 # modify values
if __name__ == '__main__':
printGlobal()
print(globalValues.GLOBAL_2)
第二種方法,適用于不同文件之間的變量共享,而且一定程度上避免了開頭所說的全局變量的弊端,推薦!
3. 使用類變量
1) 定義全局變量為類變量 var = 10:
2) 在類方法中使用類變量 self.var
class test_global():
var = 10 #聲明類變量
def get_var(self): #定義類方法,使用類變量
print self.var,
self.var += 1
if __name__ == '__main__' :
obj = test_global()
for i in range(5):
obj.get_var()
#Result: 10 11 12 13 14
總結
以上是生活随笔為你收集整理的python类定义全局变量_python之全局变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java session使用_使用Neo
- 下一篇: listview 每行后面的小箭头_几个