當前位置:
首頁 >
函数动态传参详细,作用域和名称空间,global和nonlocal
發布時間:2025/5/22
18
豆豆
生活随笔
收集整理的這篇文章主要介紹了
函数动态传参详细,作用域和名称空间,global和nonlocal
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 動態傳參(重點) *, **
*, ** :
形參: 聚合
位置參數* -> 元組
關鍵字** -> 字典
實參: 打散
列表, 字符串, 元素 -> *
字典 -> **
形參順序(重點):
位置, 默認值, *args, **kwargs
無敵傳參
def func(*args, **kwargs): arguments參數 keyword-arguments關鍵字參數
pass
2. 作用域和名稱空間
名稱空間: 用來存放名字(變量, 函數名, 類名, 引入的模塊名)的
1. 全局名稱空間: 我們在py文件中自己寫的變量, 函數.....
2. 內置名稱空間: 我們python解釋器提供好的一些內置內容(print, input....)
3. 局部名稱空間: 在我們執行函數的時候.會產生一個局部名稱空間. 放的是: 函數內部的內容(變量, 函數,類...)
名稱空間可能會有無數個, 局部名稱空間而言. 相對是獨立的.一般互不干擾
作用域:
1. 全局作用域: 內置+全局
2. 局部作用域: 局部
globals() 查看全局作用域
locals() 查看當前作用域
3. 函數的嵌套
在函數中聲明函數
在內部函數中使用變量的時候, 查找順序: 先找自己 -> 上一層 -> 上一層..全局 -> 內置
4. nonlocal和global關鍵字(重點)
global: 在局部引入全局變量
nonlocal: 在局部...內層函數引入外層離他最近的那個變量.
*, ** :
形參: 聚合
位置參數* -> 元組
關鍵字** -> 字典
實參: 打散
列表, 字符串, 元素 -> *
字典 -> **
形參順序(重點):
位置, 默認值, *args, **kwargs
無敵傳參
def func(*args, **kwargs): arguments參數 keyword-arguments關鍵字參數
pass
2. 作用域和名稱空間
名稱空間: 用來存放名字(變量, 函數名, 類名, 引入的模塊名)的
1. 全局名稱空間: 我們在py文件中自己寫的變量, 函數.....
2. 內置名稱空間: 我們python解釋器提供好的一些內置內容(print, input....)
3. 局部名稱空間: 在我們執行函數的時候.會產生一個局部名稱空間. 放的是: 函數內部的內容(變量, 函數,類...)
名稱空間可能會有無數個, 局部名稱空間而言. 相對是獨立的.一般互不干擾
作用域:
1. 全局作用域: 內置+全局
2. 局部作用域: 局部
globals() 查看全局作用域
locals() 查看當前作用域
3. 函數的嵌套
在函數中聲明函數
在內部函數中使用變量的時候, 查找順序: 先找自己 -> 上一層 -> 上一層..全局 -> 內置
4. nonlocal和global關鍵字(重點)
global: 在局部引入全局變量
nonlocal: 在局部...內層函數引入外層離他最近的那個變量.
轉載于:https://www.cnblogs.com/wangpanger/p/10083904.html
總結
以上是生活随笔為你收集整理的函数动态传参详细,作用域和名称空间,global和nonlocal的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一文看懂软件测试方法和规范
- 下一篇: 12/7个人站立会议