day 11函式引數,名稱作用域。
阿新 • • 發佈:2018-11-01
1. 動態傳參
形參:
1. 位置引數
2. 預設值引數
3. 動態傳參
1 *args: 動態接收位置引數
2 **kwargs:動態接收關鍵字引數
順序: 位置, *args, 預設值, **kwargs *, **:
def func(*args, **kwargs): 無敵傳參
pass
*, ** 在形參位置: 聚合
在實參位置: 打散
實參:
1. 位置引數
2. 關鍵字引數
3. 混合引數 2. 名稱空間和作用域
名稱空間: 儲存名字用的
變數, 函式, 類 1. 內建名稱空間:python自己, print, input, len
2. 全域性名稱空間: 你寫的程式碼從上到下
3. 區域性名稱空間: 函式, 類, 方法, 其他模組, 物件 作用域
全域性作用域
內建 + 全域性
區域性作用域
區域性名稱空間
從區域性找全域性可以. 但是從全域性找區域性是不可以的 globals() 檢視全域性作用域中的名字
locals() 檢視當前作用域中的名字 3. 函式的巢狀
每一層都會產生獨自的名稱空間
4. nonlocal global
global: 在區域性引入全域性的內容, 可以昇華一個變數為全域性變數
nonlocal : 在區域性, 引入上一層名稱空間中的變數, 如果沒有, 繼續上一層
形參:
1. 位置引數
2. 預設值引數
3. 動態傳參
1 *args: 動態接收位置引數
2 **kwargs:動態接收關鍵字引數
順序: 位置, *args, 預設值, **kwargs *, **:
def func(*args, **kwargs): 無敵傳參
pass
*, ** 在形參位置: 聚合
在實參位置: 打散
實參:
1. 位置引數
2. 關鍵字引數
3. 混合引數 2. 名稱空間和作用域
名稱空間: 儲存名字用的
變數, 函式, 類 1. 內建名稱空間:python自己, print, input, len
2. 全域性名稱空間: 你寫的程式碼從上到下
3. 區域性名稱空間: 函式, 類, 方法, 其他模組, 物件 作用域
全域性作用域
內建 + 全域性
區域性作用域
區域性名稱空間
從區域性找全域性可以. 但是從全域性找區域性是不可以的 globals() 檢視全域性作用域中的名字
locals() 檢視當前作用域中的名字 3. 函式的巢狀
每一層都會產生獨自的名稱空間
4. nonlocal global
global: 在區域性引入全域性的內容, 可以昇華一個變數為全域性變數
nonlocal : 在區域性, 引入上一層名稱空間中的變數, 如果沒有, 繼續上一層