首頁 >後端開發 >Python教學 >Python函數中的可變參數定義方法以及參數的傳遞方法解析

Python函數中的可變參數定義方法以及參數的傳遞方法解析

巴扎黑
巴扎黑原創
2017-08-06 16:17:301439瀏覽

這篇文章主要介紹了詳解Python函數可變參數定義及其參數傳遞方式的相關資料,這裡提供實例代碼幫助大家學習理解這部分內容,需要的朋友可以參考下

#Python函數可變參數定義及其參數傳遞方式詳解

python中函數不定參數的定義形式如下

1、 func(*args ) 

已傳入的參數為以元組形式存在args中,如:


##

def func(*args): 
  print args 
 
>>> func(1,2,3) 
(1, 2, 3) 
 
>>> func(*[1,2,3])  #这个方式可以直接将一个列表的所有元素当作不定参数 
传入(1, 2, 3)




## 2、func( **kwargs)

已傳入的參數為以字典形式存在args中,如:


##

def func(**kwargs): 
  print kwargs 
 
>>> func(a = 1,b = 2, c = 3) 
{'a': 1, 'c': 3, 'b': 2} 
 
>>> func(**{'a':1, 'b':2, 'c':3})   #这个方式可以直接将一个字典的所有键值对当作关键字参数传入 
{'a': 1, 'c': 3, 'b': 2}

3、也可以兩者混用func(*args, **kwargs)#############傳入的順序必須和定義順序相同,這裡是先不定參數列表,再是關鍵字參數字典,如:###############
def func(*args, **kwargs): 
  print args 
  print kwargs 
 
 
>>> func(1,2,3) 
(1, 2, 3) 
{} 
 
>>> func(*[1,2,3]) 
(1, 2, 3) 
{} 
 
>>> func(a = 1, b = 2, c = 3) 
() 
{'a': 1, 'c': 3, 'b': 2} 
 
>>> func(**{'a':1, 'b':2, 'c':3}) 
() 
{'a': 1, 'c': 3, 'b': 2} 
 
 
>>> func(1,2,3, a = 4, b=5, c=6) 
(1, 2, 3) 
{&#39;a&#39;: 4, &#39;c&#39;: 6, &#39;b&#39;: 5}</span> 
 #这样跳跃传递是不行的 
>>> func(1,2,3, a=4, b=5, c=6, 7) 
SyntaxError: non-keyword arg after keyword arg

以上是Python函數中的可變參數定義方法以及參數的傳遞方法解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn