python中*args和**kw


有時看到python函數中的參數有出現*args與**kw,不知道這兩個參數具體是什么意思,現在我就來介紹以下函數參數*arg與**kw的具體含義

*args:將實參中按照位置傳值,多余的值都給args,以元組的方式呈現

對於初學者來說,有人可能將元組忘記了

元祖和列表十分相似,不過元組是不可變的。即你不能修改元組。元組通過圓括號中用逗號分隔的項目定義。

my=(1,2,3,4)
注意:被使用的元組的值不會改變。

**kw:形參中按照關鍵字傳值,多余的值都給kw,以字典*的方式呈現

字典里面的元素是將鍵與值聯系起來

像這樣:

d = {key1 : value1, key2 : value2 }

注意:

(1)鍵/值對用冒號分割,而各個對用逗號分割,所有這些都包括在花括號中另外,

(2)字典中的鍵/值對是沒有順序

現在我們通過例子來學習*arg與**kw的作用:

def My(*args, **kwargs):   
 print 'args = ', args   
 print 'kwargs = ', kwargs   


   My(1,2,3,4)
   My(a=5,b=6,c=7)
   My(1,2,a=3,b=4)
   

 輸出結果:

args =  (1, 2, 3, 4) 
kwargs =  {} 

args =  () 
kwargs =  {'a': 5, 'b':6 , 'c': 7} 


args =  (1, 2,) 
kwargs =  {'a': 3, 'b': 4} 
現在一個可以看出其中的區別與使用了吧


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM