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

溫馨提示×

溫馨提示×

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

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

Python函數中參數帶星號指的是什么意思

發布時間:2020-09-08 13:55:27 來源:億速云 閱讀:338 作者:小新 欄目:編程語言

小編給大家分享一下Python函數中參數帶星號指的是什么意思,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

函數的參數使用除了常規的位置參數和關鍵字參數外,還支持可變個數的函數參數,這種支持可變個數的參數方法稱為參數收集,對應的參數稱為收集參數。

一、參數收集的定義

Python的函數支持可變不定數量的參數模式,這種將不定數量實參在調用時傳遞給函數,函數將其識別并保存到指定形參的過程稱為參數收集:

1、帶一個星號的參數收集模式

這種模式是在函數定義時在某個形參前面加一個星號,調用時按位置匹配不帶星號的形參和實參,多余的實參都將作為一個元組的元素保存到星號對應的形參中,該星號后的形參就稱為收集參數。

這種模式的參數收集過程與前面介紹的序列解包類似,只是序列解包是將序列中多出的部分存放到星號后面的列表變量,而函數收集是將多出的參數存放到收集參數對應的元組變量。這種模式的參數收集與序列解包類似,收集參數最好是最后一個形參,但可以出現在函數參數的任何位置,只是此時該參數后面的參數在調用時必須用關鍵字參數模式傳值,否則這些實參值都將作為收集參數的一部分。

舉例:我們來實現一個計算函數,其終極目標是輸入一串不限數量的數字,然后調用對應的運算符進行連續運算(如連加、連減、連乘等)。為了突出重點,我們在最初的例子只是定義這個函數并輸出參數值,以來驗證上面相關描述對于形參和實參的取值方法。后面章節再來完整實現該函數。

函數定義:

\>>> def cal(number1,number2=None,*numbers,calmethod='$'):

    print('number1=',number1,',number2=',number2,',numbers=',numbers,', calmethod=',calmethod)

函數調用執行:

\>>> cal(1,'+')

number1= 1 ,number2= + ,numbers= () , calmethod= $

\>>> cal(1,2,'+')

number1= 1 ,number2= 2 ,numbers= ('+',) , calmethod= $

\>>> cal(1,2,3,'+')

number1= 1 ,number2= 2 ,numbers= (3, '+') , calmethod= $

\>>> cal(1,2,3,4,'+')

number1= 1 ,number2= 2 ,numbers= (3, 4, '+') , calmethod= $

\>>> cal(1,calmethod='+')

number1= 1 ,number2= None ,numbers= () , calmethod= +

\>>> cal(1,2,calmethod='+')

number1= 1 ,number2= 2 ,numbers= () , calmethod= +

\>>> cal(1,2,3,calmethod='+')

number1= 1 ,number2= 2 ,numbers= (3,) , calmethod= +

\>>> cal(1,2,3,4,calmethod='+')

number1= 1 ,number2= 2 ,numbers= (3, 4) , calmethod= +

\>>>

執行截圖如下:

Python函數中參數帶星號指的是什么意思

2、帶兩個星號的參數收集模式

第一種模式的收集參數不能收集關鍵字參數傳遞的實參,要收集關鍵字參數傳遞的實參,需要在收集參數前使用兩個星號,此時收集參數對應的是一個字典而不是元組。

此種模式的收集參數必須放在函數的最后一個,這是因為關鍵字參數的函數參數之后不允許出現非關鍵字參數。此種情況的關鍵字參數的參數名,并不是上節內容介紹的函數定義中的關鍵字參數名,而是在實參調用時采用關鍵字參數形式傳遞的不定數量的參數。 兩種模式的收集參數可以混用。

\>>> def cal(calmethod='+',*topnopers,**lastnopers):

print('運算符=',calmethod,',前幾個運算參數為=',topnopers,',最后幾個運算參數=',lastnopers)

\>>> cal('+',1,2,3,4,n5=5,n6=6,n7=7)

運算符= + ,前幾個運算參數為= (1, 2, 3, 4) ,最后幾個運算參數= {'n5': 5, 'n6': 6, 'n7': 7}

以上是Python函數中參數帶星號指的是什么意思的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

长宁县| 松潘县| 桂阳县| 黄骅市| 武穴市| 三穗县| 天柱县| 黄浦区| 万荣县| 景泰县| 鲜城| 九江市| 资溪县| 尚义县| 麟游县| 高青县| 曲靖市| 博兴县| 吉木萨尔县| 柞水县| 安庆市| 亚东县| 镇宁| 满洲里市| 裕民县| 古交市| 徐州市| 柳河县| 夏津县| 昭平县| 扶沟县| 芦溪县| 常山县| 随州市| 涡阳县| 昆山市| 务川| 钦州市| 凭祥市| 瑞金市| 遵化市|