您好,登錄后才能下訂單哦!
小編給大家分享一下Python函數(shù)中可變長(zhǎng)參數(shù)的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
一、Python函數(shù)中的參數(shù)
1、使用python的函數(shù)時(shí),有參數(shù)類(lèi)別,比如位置參數(shù)、關(guān)鍵字參數(shù)、可變長(zhǎng)參數(shù)
2、位置參數(shù)、關(guān)鍵字參數(shù)很好理解,關(guān)鍵是可變長(zhǎng)參數(shù)經(jīng)常能見(jiàn)到,但是一直沒(méi)有搞懂是什么意思
二、可變長(zhǎng)參數(shù)
1、一個(gè)星號(hào):函數(shù)可以接收任意個(gè)數(shù)的參數(shù),只需要在形參前面加一個(gè)*(星號(hào)),一個(gè)星號(hào)形參的函數(shù)會(huì)把多個(gè)位置參數(shù)值當(dāng)成元祖的形式傳入,也就是傳入的多個(gè)參數(shù)值可以在函數(shù)內(nèi)部進(jìn)行元祖遍歷
def length_param(a, *args): print("a=", a) print("args=", args) for arg in args: print("arg=", arg) length_param("zim","this","is","a","good","thing")
執(zhí)行結(jié)果:
2、兩個(gè)星號(hào):形參前面加兩個(gè)*(星號(hào)),注意是兩個(gè)星號(hào)哦,兩個(gè)星號(hào)形參的函數(shù)會(huì)把關(guān)鍵字參數(shù)值當(dāng)成字典的形式傳入,在函數(shù)內(nèi)部會(huì)把關(guān)鍵字參數(shù)當(dāng)成字典在函數(shù)內(nèi)部進(jìn)行遍歷
def length_param(a, **kwargs): print("a=", a) print("kwargs=", kwargs) for kwarg in kwargs.keys(): print("kwarg=", kwarg) length_param("zim",b="this",c="is",d="good")
執(zhí)行結(jié)果:
3、一個(gè)星號(hào)和兩個(gè)星號(hào)混合使用
class Params: def length_param(self,*args,**kwargs): print("args=",args) print("kwargs=",kwargs) for arg in args: print("arg=",arg) for kwarg in kwargs.values(): print("kwarg=",kwarg) one = Params() one.length_param("sam","this","is","good","thing",b="you",c="love",d="me")
執(zhí)行結(jié)果:
注意:傳入可變長(zhǎng)參數(shù)時(shí),傳入關(guān)鍵字參數(shù)的key一定不能有冒號(hào),否則會(huì)報(bào)如下錯(cuò)誤
三、注意事項(xiàng):
函數(shù)調(diào)用時(shí)關(guān)鍵字參數(shù)必須在位置參數(shù)后面
以上是“Python函數(shù)中可變長(zhǎng)參數(shù)的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。