Python變數作用域,媽媽再也不會擔心我不會Python了(十二)
變數作用域
區域性變數
- 定義在函式內部的變數,叫區域性變數
- 區域性變數函式內部訪問使用,函式外部不能訪問使用
def introduce(): name = "小明"#區域性變數 print("我的名字叫%s"%name)#函式內部使用區域性變數 introduce()#呼叫函式 #print("我的名字叫%s"%name)#函式外部不能使用區域性變數
上述程式碼執行結果:

上述程式碼執行結果
全域性變數
- 定義在函式外部的變數,叫全域性變數
- 全域性變數在函式內部和函式外部都可以訪問使用
name = "小明"#全域性變數 def introduce(): print("函式內部-我的名字叫%s"%name)#函式內部使用全域性變數 introduce()#呼叫函式 print("函式外部-我的名字叫%s"%name)#函式外部使用全域性變數
上述程式碼執行結果:

上述程式碼執行結果
當全域性遇到區域性
- 當全域性變數和區域性變數名相同的時候,在函式內部使用區域性,函式外部使用全域性
name = "小明"#全域性變數 def introduce(): name = "小紅"#區域性變數 print("函式內部-我的名字叫%s"%name)#函式內部使用區域性變數 introduce()#呼叫函式 print("函式外部-我的名字叫%s"%name)#函式外部使用全域性變數
上述程式碼執行結果:

上述程式碼執行結果
當局部遇到形參
- 當實參傳入到函式內部的時候,形參會接受到實參,我們可以直接把形參當局部變數使用
def introduce(name):#name是形參 print("我的名字叫%s"%name)#把形參當局部變數使用 introduce("小明")#呼叫函式
上述程式碼執行結果:
[圖片上傳失敗...(image-6754c8-1535035809819)]
修改區域性變數
- 在函式內部可以直接修改區域性變數
def introduce(): name = "小明" name = "小紅"#修改區域性變數 print("我的名字叫%s"%name)#使用修改後區域性變數 introduce()#呼叫函式
上述程式碼執行結果:

上述程式碼執行結果
修改全域性變數
在函式外部修改
- 在函式外部可以直接對全域性變數進行修改
name = "小明"#全域性變數 def introduce(): print("函式內部-我的名字叫%s"%name)#函式內部使用修改後全域性變數 name = "小紅"#函式外部修改全域性變數 introduce()#呼叫函式 print("函式外部-我的名字叫%s"%name)#函式外部使用修改後全域性變數
上述程式碼執行結果:
[圖片上傳失敗...(image-ff204-1535035809819)]
在函式內部修改
- 在函式內部要對全域性變數進行修改,需要加上
global
宣告
name = "小明"#全域性變數 def introduce(): global name#如果想在函式內部修改全域性變數,需要加global宣告 name = "小紅" print("函式內部-我的名字叫%s"%name)#函式內部使用修改後全域性變數 introduce()#呼叫函式 print("函式外部-我的名字叫%s"%name)#函式外部使用修改後全域性變數
上述程式碼執行結果:

上述程式碼執行結果

歡迎關注