亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python風格的函數分配參數是什么

發布時間:2020-10-28 00:27:16 來源:億速云 閱讀:157 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關Python風格的函數分配參數是什么的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

一、分配參數的定義

參數收集就是在定義函數時不能確認參數個數,用收集參數將調用時不確定數量的實參存放到收集參數的元組中。分配參數與此過程相反,它不是在定義函數形參時使用星號(1個或2個),而是在調用函數傳遞實參時使用星號(1個或2個)來傳遞多個參數。

二、分配參數的使用

1.使用1個星號的分配參數

使用1個星號的實參時,實參為一個元組、列表、字典或集合,該實參內的元素將按參數順序傳遞給函數,但由于字典實際傳值取的是鍵,集合的元素沒有順序,因此不建議使用字典和集合傳值。

舉例:

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

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

Python風格的函數分配參數是什么

從上面的例子可以看出,一個星號的收集參數可以通過1個星號的分配參數方式傳值。

分配參數實際上就是將實參傳遞的序列數據解包給對應形參的過程。

2.使用2個星號的分配參數

使用2個星號的實參時,實參為一個字典,該字典內的元素將按關鍵字參數模式傳遞給函數,其中的鍵為關鍵字參數,值為關鍵字參數對應的實參值。使用這種模式要求該實參位于參數列表末尾。還是以上面函數為例:

\>>> paras={'calmethod':'+','number1':1,'number2':2,'numbers':[3,4,5]}
\>>> cal(**paras) #報錯遇到沒有預期的關鍵字參數'numbers'
\>>> paras={'calmethod':'+','number1':1,'number2':2,'numbers':(3,4,5)}
\>>> cal(**paras) #報錯遇到沒有預期的關鍵字參數'numbers'
\>>> paras={'calmethod':'+','number1':1,'number2':2,'*numbers':(3,4,5)}
\>>> cal(**paras) #報錯遇到沒有預期的關鍵字參數'*numbers'
\>>> paras={'calmethod':'+','number1':1,'number2':2}
\>>> cal(**paras)
number1= 1 ,number2= 2 ,numbers= () , calmethod= +

Python風格的函數分配參數是什么

從上面的案例可以看出來:

1)  兩個星號的參數分配不能給兩個星號的收集參數傳值,因為這沒有意義,還不如直接使用形參為字典類型實參是字典數據進行操作。2)  分配參數模式和收集參數模式可以并存,如上面的例子,但這種使用方式意義不大,一般不建議使用。

感謝各位的閱讀!關于Python風格的函數分配參數是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兰考县| 张家界市| 马公市| 常德市| 旬阳县| 女性| 容城县| 资溪县| 安义县| 肃宁县| 南涧| 高州市| 句容市| 噶尔县| 象州县| 唐山市| 紫云| 南漳县| 错那县| 湖北省| 泸西县| 无锡市| 缙云县| 阳朔县| 红原县| 屏山县| 运城市| 平顺县| 佛学| 苗栗县| 彰武县| 临西县| 扶余县| 息烽县| 保靖县| 东方市| 嫩江县| 奉贤区| 台北县| 遵义市| 梅河口市|