python函式可變引數定義及其引數傳遞方式詳解
python中 函式不定引數的定義形式如下
1、 func(*args)
傳入的引數為以元組形式存在args中,如:
def func(*args):
print args
>>> func(1,2,3)
(1, 2, 3)
>>&程式設計客棧gt; func(*[1,2,3]) #這個方式可以直接將乙個列表的所有元素當作不定引數
傳入(1, 2, 3)
2、func( **kwargs)
傳入的引數為以字典形式存在args中,如:
def func(**kwargs):
print kwargs
>>> func(a = 1www.cppcns.com,b = 2, c = 3)
>>> func(**) #這個方式可以直接將乙個字典的所有鍵值對當作關鍵字引數傳入
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)
()
>>> func(**)
()
>>> func(1,2,3, a = 4, b=5, c=6)
(1, 2, 3)
#這樣跳躍傳遞是不行的
>>> func(1,2,3, a=4, b=5, c=6, 7)
syntaxerror: no程式設計客棧n-keyword arg after keyword arg
本文標題: 詳解python函式可變引數定義及其引數傳遞方式
本文位址: /jiaoben/python/198473.html
Python 函式 可變引數
有些時候我們可能遇到引數的個數並不固定的情況,比如1 2 3 n 函式定義如下 def calc numbers sum 0 for n in numbers sum sum n n return sum上面這種情況只能傳乙個引數,而且引數一般是list或tuple,呼叫方式 calc 1,3,5 ...
Python函式的可變引數
剛學用python的時候,特別是看一些庫的原始碼時,經常會看到func args,kwargs 這樣的函式定義,這個 和 讓人有點費解。其實只要把函式引數定義搞清楚了,就不難理解了。先說說函式定義,我們都知道,下面的 定義了乙個函式funca def funca pass 顯然,函式funca沒有引...
Python常用函式 可變引數
剛學python的時候,特別是看一些庫的原始碼時,經常會看到func args,kwargs 這樣的函式定義,這個和讓人有點費解。有時你可能想定義的函式裡面能夠有任意數量的變數,也就是引數數量是可變的,這可以通過使用星號來實現 將下方案例儲存為 function varargs.py def tot...