應該儘可能避免使用全局變量。不一樣的模塊均可以自由的訪問全局變量,可能會致使全局變量的不可預知性。對全局變量,若是程序員甲修改了_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'
第二種方法,適用於不一樣文件之間的變量共享,並且必定程度上避免了開頭所說的全局變量的弊端,推薦!變量