不定長(zhǎng)參數(shù)(*/**)

不定長(zhǎng)參數(shù)定義:也叫可變參數(shù),用于不確定調(diào)用的時(shí)候會(huì)傳遞多少個(gè)參數(shù)(不傳參也可以)的場(chǎng)景

不定長(zhǎng)參數(shù)作用:當(dāng)調(diào)用函數(shù)不確定參數(shù)個(gè)數(shù)時(shí),可以使用不定長(zhǎng)參數(shù)

不定長(zhǎng)指的是參數(shù)的數(shù)量,數(shù)量可以是任意的

不定長(zhǎng)參數(shù)的類(lèi)型:

1.位置傳遞 (標(biāo)志性符號(hào)為:*? ?,格式*不定長(zhǎng)參數(shù)/形參)

2.關(guān)鍵字傳遞(標(biāo)志性符號(hào)為:**,格式**不定長(zhǎng)參數(shù)/形參)

def a(*b)? ? ? ? ? ? ? 帶上*,表明形參b它所接收的數(shù)量是無(wú)限的(數(shù)量可為單個(gè)也可以為多個(gè)),當(dāng)我們使用不定長(zhǎng)傳遞的時(shí)候,b這個(gè)形式參數(shù),就會(huì)默認(rèn)標(biāo)記為元組類(lèi)型,當(dāng)傳遞不定長(zhǎng)參數(shù)(傳實(shí)參)的時(shí)候,通常都會(huì)存儲(chǔ)到元組內(nèi)部(這一部分為原理,解釋作用),所以我們可以以元組的形式去調(diào)用,所以b也可以叫做元組。

b的實(shí)參可以為0個(gè),也可以為無(wú)限個(gè)。

帶個(gè)*,b形式參數(shù),b的實(shí)參為單個(gè)時(shí),調(diào)用函數(shù)的時(shí)候,就顯示一個(gè)值;b的實(shí)參為多個(gè)時(shí),調(diào)用函數(shù)的時(shí)候,就展示多個(gè)值,形參b的類(lèi)型就是以元組的形式存儲(chǔ)了

def a(*d):

? ? ? print(d)

a(1,2,3)

1,2,3

通過(guò)*得到的不定長(zhǎng),那么這種不定長(zhǎng)我們叫做位置傳遞


def a(**b)?

通過(guò)**得到的不定長(zhǎng),這種叫關(guān)鍵字傳遞,它的實(shí)參不受限制,可以一個(gè)也可以多個(gè),同時(shí)也必須滿足key=值的這種鍵值對(duì)的形式,傳實(shí)參的時(shí)候,按照要求:key=value這種方式傳遞(調(diào)用函數(shù),實(shí)參按照這種方式寫(xiě)代碼)。比如實(shí)參b("你好"=11),傳入的時(shí)候(調(diào)用函數(shù)),(形參b的類(lèi)型)就形成字典了。

def a(**d):

? ? ? ?print(d)

a(c="你好",e="我們")

{c="你好",e="我們"}

還有一種方式,通過(guò)字典的方式去定義:

def a(**d):

e={"你好"=22,"我們"=11}

a(**e)? ? ? ? ? ? ? ? ? ? ? ? ? #如果是以"e"字典的形式,那么調(diào)用的時(shí)候需要加上(**e),帶上**,說(shuō)明是解包的意思,這個(gè)是語(yǔ)法規(guī)則,也可以這么理解

{"你好"=22,"我們"=11}



12.19? 二

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

相關(guān)閱讀更多精彩內(nèi)容

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