本文將詳細分析python的全域性變數與區域性變數,學過php的人都知道,php裡面的全域性變數是無法在function裡面去使用的,只有超全域性變數才可以,那麼python會怎麼處理全域性變數與區域性變數呢?下面我們來看一下:
其實python裡面的全域性變數,一般跟c語言裡面是一樣的12
3456
78910
1112
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裡面不同:12
345$name
=
'php'
;
function
foo1
foo1
//將會得到一條警告:name變數不存在
所以各位同學在做python開發時一定要注意區分
Python 區域性變數與全域性變數
問題由來 考慮到想在執行結束後的使用者空間裡面檢視一下資料,我把data1作為全域性變數來進行處理。data1 function a1 data1 readdata function a2 data1.dealdata if name main a1 a2 此時,a2 函式沒有任何輸出,即data1...
python 全域性變數與區域性變數
目錄 一 變數作用域 二 全域性變數 區域性變數 2.1 global 和nonlocal關鍵字 python中,變數不是在 都可以訪問的,訪問許可權決定於變數是在 被賦值的。變數作用域決定了哪一部分程式可以訪問哪些特定的變數。python的作用域一共分為四種 程式查詢變數的規則為 l e g b ...
python區域性變數與全域性變數
區域性變數 區域性變數是在函式內部進行使用,無法全域性共享 全域性變數 全域性變數在函式外部進行共享使用,可以接收函式的呼叫 區域性變數 def demo1 num 1print num defdemo2 print num print會報錯,原因顯示為沒有定義num這個變數,所以證明在demo1中...