主要內容
1. 命名空間, 區域性命名空間, 全域性命名空間, 作⽤域, 載入順序.
2. 函式的巢狀
3. gloabal, nonlocal關鍵字
1.命名空間(也就是全域性和區域性)
命名空間分類:
1)全域性命名空間, .py檔案內,函式外宣告的變數
2)區域性命名空間 在函式裡面宣告的變數
3)內建命名空間 python編譯器提供的變數比如print list等
幾類命名空間的載入順序
內建命名空間 > 全域性命名空間 > 區域性命名空間
取值順序
區域性命名空間 > 全域性命名空間 > 內建命名空間
a = 2deffun():
a = 10
print(10)
fun()
(a)"""
執行結果是102
"""
命名空間的作用域
全域性命名空間是 py檔案,包含函式裡面
區域性命名空間 作用域是在函式內
我們可以通過globals()函式來檢視全域性作⽤域中的內容, 也可以通過locals()來檢視區域性作 ⽤域中的變數和函式資訊
示例:
a = 2deffun():
a = 10c = 6
print(10)
deffun1():
b = 5
(globals())
(locals())
fun1()
(locals())
fun()
print(a)
函式巢狀
太容易了,不回顧了
關鍵字global和nonlocal
global是指在區域性變數中對全域性變數進行修改.
nonlocal是指呼叫父級的變數
python區域性變數和全域性變數
name gongwei 要在函式裡修改全域性變數,需要用globle home earth china cq def change name home 地球 注意只有字串和單獨數值在區域性變數中修改全域性變數要用globle輔助,其他如列表 字典可以直接修改 global name name xu...
python 區域性變數和全域性變數
在python中全域性變數可以作用於所有域,而函式內部呼叫時會優先使用區域性變數,如果搜尋不到區域性變數就會在全域性中搜尋相同的變數 當然,以上並不意味著我們不能在函式內部使用全域性變數。python 的作用域規則是,變數的建立總是會建立乙個新的區域性變數但是變數的訪問 包括修改 在區域性作用域查詢...
python全域性變數 區域性變數
定義在函式內的變數有區域性作用域,在乙個模組中最高端別的變數有全域性作用域。全域性變數的乙個特徵是除非被刪除掉,否則它們的存活到指令碼執行結束,且對於所有的函式,它們的值都是可以訪問的。global str global string def foo local str local string r...