Python中函數(shù)收集參數(shù)機(jī)制的示例分析-創(chuàng)新互聯(lián)

這篇文章主要介紹了Python中函數(shù)收集參數(shù)機(jī)制的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

成都創(chuàng)新互聯(lián)長期為超過千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為宛城企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站建設(shè),宛城網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

定義函數(shù)的時(shí)候,在參數(shù)前加了一個(gè) * 號(hào),函數(shù)可以接收零個(gè)或多個(gè)值作為參數(shù)。返回結(jié)果是一個(gè)元組。

傳遞零個(gè)參數(shù)時(shí)函數(shù)并不報(bào)錯(cuò),而是返回一個(gè)空元組。但以上這種方法也有局限性,它不能收集關(guān)鍵字參數(shù)。

對關(guān)鍵字參數(shù)進(jìn)行收集的另一種 收集參數(shù) 機(jī)制:使用兩個(gè)星號(hào) ( ** ) ,用法同上。最后返回一個(gè)以參數(shù)名為鍵、參數(shù)值為鍵值的字典。

* 和 ** 是可以一起使用的,返回特定的結(jié)果。

參數(shù)收集的用處之一是使我們編寫函數(shù)時(shí)不用頭疼將 N 多個(gè)參數(shù)都塞在一個(gè)括號(hào)里,既美觀又省事。用處之二便是:

* :可以將一系列值存放進(jìn)一個(gè)元組變量里,可用該元組變量名加一個(gè) * 號(hào)作為參數(shù)傳遞給一個(gè)正被調(diào)用的函數(shù),而后該函數(shù)就可以自由地對這些值進(jìn)行一系列合法的操作。

** :同理,只不過變量存放的方式是字典。

def foo(*param):
 print(param)
 
def foo_1(**param):
 print(param)
def foo_2(*param1, **param2):
 print(param1)
 print(param2)
 
if __name__ == '__main__':
 foo(1,2,3,4) # (1, 2, 3, 4)
 
 foo_1(a = 1, b=2, c=3, d=4) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
 
 foo_2(6,7,8, m = 9, n = 10) # (6, 7, 8) {'m': 9, 'n': 10}

Python的4種傳值的方式,必選傳參 func(param)、默認(rèn)傳參func(param=value)、可選傳參func(*param)、關(guān)鍵字傳參func(**param)

# 必選參數(shù) func(param): # 1、定義函數(shù)時(shí)的參數(shù)個(gè)數(shù),順序已定義好,在調(diào)用函數(shù)調(diào)時(shí)的參數(shù)個(gè)數(shù)、順序必須一致,不能多,也不能少,也不能亂(和之前的順序一致),因此叫必選參數(shù),這是最常用的傳參方式

def test(param1,param2,param3):

  print param1,param2,param3

test(1,"hello",True)

test(True,1,"hello")

執(zhí)行結(jié)果:

1 hello True

True 1 hello

# 默認(rèn)參數(shù)func(param=value): #

1、定義函數(shù)時(shí),已為參數(shù)設(shè)定一個(gè)默認(rèn)值,假如調(diào)用函數(shù)時(shí)不傳參,在函數(shù)內(nèi)部使用參數(shù)時(shí)的值則為默認(rèn)值,傳參時(shí)則和必選參數(shù)一樣使用

# 2、如果必選參數(shù)和默認(rèn)參數(shù)同時(shí)存在,則默認(rèn)參數(shù)必須跟在必選參數(shù)后面

# 3、如果有多個(gè)默認(rèn)參數(shù),調(diào)用時(shí)順序可以不一致,但是必須要顯式表明是哪個(gè)默認(rèn)參數(shù),例如 param2=100,但是建議統(tǒng)一按照函數(shù)定義的順序進(jìn)行使用

def test(param1,param2=100,param3=True):

  print param1,param2,param3 test(1)

# 默認(rèn)參數(shù)可以不傳 test(1,"hello",False)

# 多個(gè)默認(rèn)參數(shù)時(shí),調(diào)用順序一致 test(1,param3=False,param2="hello")

# 調(diào)用順序也可以不一致

執(zhí)行結(jié)果:

1 100 True

1 hello False

1 hello False

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Python中函數(shù)收集參數(shù)機(jī)制的示例分析”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

網(wǎng)頁名稱:Python中函數(shù)收集參數(shù)機(jī)制的示例分析-創(chuàng)新互聯(lián)
本文鏈接:http://www.bm7419.com/article6/dcddig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)標(biāo)簽優(yōu)化、小程序開發(fā)品牌網(wǎng)站設(shè)計(jì)、關(guān)鍵詞優(yōu)化網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司