PYTHON之全局變量

應該儘可能避免使用全局變量。不一樣的模塊均可以自由的訪問全局變量,可能會致使全局變量的不可預知性。對全局變量,若是程序員甲修改了_a的值,程序員乙同時也要使用_a,這時可能致使程序中的錯誤。這種錯誤是很難發現和更正的。 python

全局變量下降了函數或模塊之間的通用性,不一樣的函數或模塊都要依賴於全局變量。一樣,全局變量下降了代碼的可讀性,閱讀者可能並不知道調用的某個變量是全局變量。程序員

可是某些時候,全局變量可以解決局部變量所難以解決的問題。事物要一分爲二。函數

python裏面全局變量有兩種靈活的用法:spa

1 聲明法code

在文件開頭聲明全局變量variable,orm

在具體函數中使用該變量時,須要事先聲明 global variable,不然系統將該變量視爲局部變量。it

def fun():
    global A
    A = 2
    A += 1
fun()
print A

2模塊法(推薦)class

把全局變量定義在一個單獨的模塊中:
import

#gl.py
gl_1 = 'hello'
gl_2 = 'world'
在其它模塊中使用
#a.py
import gl
def hello_world()
    print gl.gl_1, gl.gl_2
#b.py
import gl
def fun1()
    gl.gl_1 = 'Hello'
    gl.gl_2 = 'World'

第二種方法,適用於不一樣文件之間的變量共享,並且必定程度上避免了開頭所說的全局變量的弊端,推薦!變量

相關文章
相關標籤/搜索