2020-07-20 可變長度參數(shù)與名稱空間

可變長度參數(shù)

站在實(shí)參的角度,實(shí)參是用來為形參賦值的,如果實(shí)參的個(gè)數(shù)不固定,那么必須要有形參能夠接受溢出的值

*與**在形參中的應(yīng)用

在形參中的*args和**args

? ? *args:將傳進(jìn)來多余的位置實(shí)參,集合成元組的形式

? ?? **kwargs:將傳進(jìn)來多余的關(guān)鍵字實(shí)參,集合成字典的形式

在實(shí)參中*,**的作用

*可變類型的位置實(shí)參用for循環(huán)打散成位置實(shí)參

**會將其后的字典類型實(shí)參打散成關(guān)鍵字實(shí)參

函數(shù)的嵌套

? ? 定義在函數(shù)內(nèi)函數(shù)的特點(diǎn)是,一般情況下只能在函數(shù)內(nèi)調(diào)用

名稱空間與作用域

三種名稱空間:

內(nèi)置名稱空間:python內(nèi)置的名字

周期:python解釋器啟動時(shí)開始? python解釋器結(jié)束后銷毀

全局名稱空間:用來存放頂級名字的名稱空間

周期:程序開始時(shí)存活,程序結(jié)束時(shí)則銷毀

局部名稱空間:定義在函數(shù)內(nèi)的名字

周期:函數(shù)調(diào)用時(shí)開始,結(jié)束時(shí)銷毀

重要結(jié)論:名稱空間的嵌套關(guān)系是在函數(shù)定義時(shí)就已經(jīng)確定死了,與函數(shù)的調(diào)用位置無關(guān)。

作用域:全局作用域:內(nèi)置名稱空間與全局名稱空間

局部作用域:局部名稱空間 ?? 特點(diǎn):臨時(shí)存活,局部有效

global? 可以將函數(shù)內(nèi)的變量名,變?yōu)槿肿兞棵?/p>

nonlocal 在函數(shù)的外層尋找變量名,如果找到了全局作用域還沒找到就會報(bào)錯(cuò)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容