Python中函數收集參數機制的示例分析-創(chuàng)新互聯

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

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

定義函數的時候,在參數前加了一個 * 號,函數可以接收零個或多個值作為參數。返回結果是一個元組。

傳遞零個參數時函數并不報錯,而是返回一個空元組。但以上這種方法也有局限性,它不能收集關鍵字參數。

對關鍵字參數進行收集的另一種 收集參數 機制:使用兩個星號 ( ** ) ,用法同上。最后返回一個以參數名為鍵、參數值為鍵值的字典。

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

參數收集的用處之一是使我們編寫函數時不用頭疼將 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)、默認傳參func(param=value)、可選傳參func(*param)、關鍵字傳參func(**param)

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

def test(param1,param2,param3):

  print param1,param2,param3

test(1,"hello",True)

test(True,1,"hello")

執(zhí)行結果:

1 hello True

True 1 hello

# 默認參數func(param=value): #

1、定義函數時,已為參數設定一個默認值,假如調用函數時不傳參,在函數內部使用參數時的值則為默認值,傳參時則和必選參數一樣使用

# 2、如果必選參數和默認參數同時存在,則默認參數必須跟在必選參數后面

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

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

  print param1,param2,param3 test(1)

# 默認參數可以不傳 test(1,"hello",False)

# 多個默認參數時,調用順序一致 test(1,param3=False,param2="hello")

# 調用順序也可以不一致

執(zhí)行結果:

1 100 True

1 hello False

1 hello False

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

網頁名稱:Python中函數收集參數機制的示例分析-創(chuàng)新互聯
本文鏈接:http://www.muchs.cn/article6/dcddig.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站設計標簽優(yōu)化、小程序開發(fā)、品牌網站設計、關鍵詞優(yōu)化、網頁設計公司

廣告

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

成都網站建設公司