Python風(fēng)格的函數(shù)分配參數(shù)是什么-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線(xiàn)動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!

創(chuàng)新互聯(lián)建站專(zhuān)注于中大型企業(yè)的網(wǎng)站建設(shè)、成都網(wǎng)站制作和網(wǎng)站改版、網(wǎng)站營(yíng)銷(xiāo)服務(wù),追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術(shù)與技術(shù)開(kāi)發(fā)的融合,累計(jì)客戶(hù)成百上千,服務(wù)滿(mǎn)意度達(dá)97%。幫助廣大客戶(hù)順利對(duì)接上互聯(lián)網(wǎng)浪潮,準(zhǔn)確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運(yùn)用,我們將一直專(zhuān)注成都品牌網(wǎng)站建設(shè)和互聯(lián)網(wǎng)程序開(kāi)發(fā),在前進(jìn)的路上,與客戶(hù)一起成長(zhǎng)!

這篇文章給大家分享的是有關(guān)Python風(fēng)格的函數(shù)分配參數(shù)是什么的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。

一、分配參數(shù)的定義

參數(shù)收集就是在定義函數(shù)時(shí)不能確認(rèn)參數(shù)個(gè)數(shù),用收集參數(shù)將調(diào)用時(shí)不確定數(shù)量的實(shí)參存放到收集參數(shù)的元組中。分配參數(shù)與此過(guò)程相反,它不是在定義函數(shù)形參時(shí)使用星號(hào)(1個(gè)或2個(gè)),而是在調(diào)用函數(shù)傳遞實(shí)參時(shí)使用星號(hào)(1個(gè)或2個(gè))來(lái)傳遞多個(gè)參數(shù)。

二、分配參數(shù)的使用

1.使用1個(gè)星號(hào)的分配參數(shù)

使用1個(gè)星號(hào)的實(shí)參時(shí),實(shí)參為一個(gè)元組、列表、字典或集合,該實(shí)參內(nèi)的元素將按參數(shù)順序傳遞給函數(shù),但由于字典實(shí)際傳值取的是鍵,集合的元素沒(méi)有順序,因此不建議使用字典和集合傳值。

舉例:

>>> def ?cal(calmethod,number1,number2,*numbers):
    print('number1=',number1,',number2=',number2,',numbers=',numbers,', calmethod=',calmethod)

>>> paras=('+',1,2,3,4) #元組分配參數(shù)傳值
>>> cal(*pars)
number1= 1 ,number2= 2 ,numbers= (3, 4) , calmethod= +
>>> paras=['+',1,2,3,4]
>>> cal(*paras) #列表分配參數(shù)傳值
number1= 1 ,number2= 2 ,numbers= (3, 4) , calmethod= +
>>> paras={'+',1,2,3,4}
>>> cal(*paras) #集合分配參數(shù)傳值,順序變化了
number1= 2 ,number2= 3 ,numbers= (4, '+') , calmethod= 1
>>> paras={'+':10,1:20,2:30,3:40,4:50}
>>> cal(*paras) #字典分配參數(shù)傳值,取的是鍵作為參數(shù)
number1= 1 ,number2= 2 ,numbers= (3, 4) , calmethod= +

Python風(fēng)格的函數(shù)分配參數(shù)是什么

從上面的例子可以看出,一個(gè)星號(hào)的收集參數(shù)可以通過(guò)1個(gè)星號(hào)的分配參數(shù)方式傳值。

分配參數(shù)實(shí)際上就是將實(shí)參傳遞的序列數(shù)據(jù)解包給對(duì)應(yīng)形參的過(guò)程。

2.使用2個(gè)星號(hào)的分配參數(shù)

使用2個(gè)星號(hào)的實(shí)參時(shí),實(shí)參為一個(gè)字典,該字典內(nèi)的元素將按關(guān)鍵字參數(shù)模式傳遞給函數(shù),其中的鍵為關(guān)鍵字參數(shù),值為關(guān)鍵字參數(shù)對(duì)應(yīng)的實(shí)參值。使用這種模式要求該實(shí)參位于參數(shù)列表末尾。還是以上面函數(shù)為例:

\>>> paras={'calmethod':'+','number1':1,'number2':2,'numbers':[3,4,5]}
\>>> cal(**paras) #報(bào)錯(cuò)遇到?jīng)]有預(yù)期的關(guān)鍵字參數(shù)'numbers'
\>>> paras={'calmethod':'+','number1':1,'number2':2,'numbers':(3,4,5)}
\>>> cal(**paras) #報(bào)錯(cuò)遇到?jīng)]有預(yù)期的關(guān)鍵字參數(shù)'numbers'
\>>> paras={'calmethod':'+','number1':1,'number2':2,'*numbers':(3,4,5)}
\>>> cal(**paras) #報(bào)錯(cuò)遇到?jīng)]有預(yù)期的關(guān)鍵字參數(shù)'*numbers'
\>>> paras={'calmethod':'+','number1':1,'number2':2}
\>>> cal(**paras)
number1= 1 ,number2= 2 ,numbers= () , calmethod= +

Python風(fēng)格的函數(shù)分配參數(shù)是什么

從上面的案例可以看出來(lái):

1)  兩個(gè)星號(hào)的參數(shù)分配不能給兩個(gè)星號(hào)的收集參數(shù)傳值,因?yàn)檫@沒(méi)有意義,還不如直接使用形參為字典類(lèi)型實(shí)參是字典數(shù)據(jù)進(jìn)行操作。2)  分配參數(shù)模式和收集參數(shù)模式可以并存,如上面的例子,但這種使用方式意義不大,一般不建議使用。

感謝各位的閱讀!關(guān)于Python風(fēng)格的函數(shù)分配參數(shù)是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

文章標(biāo)題:Python風(fēng)格的函數(shù)分配參數(shù)是什么-創(chuàng)新互聯(lián)
瀏覽路徑:http://bm7419.com/article22/djhjjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷(xiāo)、移動(dòng)網(wǎng)站建設(shè)、Google、企業(yè)建站

廣告

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

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)