本文將詳細分析python的全域性變數與區域性變數,學過php的人都知道,php裡面的全域性變數是無法在function裡面去使用的,只有超全域性變數才可以,那麼python會怎麼處理全域性變數與區域性變數呢?下面我們來看一下:
其實python裡面的全域性變數,一般跟c語言裡面是一樣的
language = 'python' def foo1(): language = 'hello' # 這裡是區域性變數 print(language ) # 打出hello,並且不會影響全域性變數language (全域性那個bar仍然是'python') def foo2(): print(language ) # 打出python # 因為沒有宣告區域性變數所以python會搜尋全域性的language ,這個bar是全域性的 def foo3(): global language # 告訴python下面的bar是全域性的 language = 'hello' # 這裡是全域性變數 print(language) # 打出hello,全域性的language 已經改為hello不再是python了 #再列印一下language 看一下 print(language)#列印出hello,因為在foo3裡全域性變數已經被改變了
這也說明使用這種方式可以更改python的全域性變數
但是這與php裡面不同:
$name = 'php'; function foo1{ echo $name; } foo1 //將會得到一條警告:name變數不存在
所以各位同學在做python開發時一定要注意區分