python中如何使用*args和**kwargs,或者說,在python中如何使用可變長引數列表。
這是一種特殊的語法,在函式定義中使用*args和kwargs傳遞可變長引數. *args用作傳遞非命名鍵值可變長引數列表(位置引數); kwargs用作傳遞鍵值可變長引數列表
下面的例子傳遞乙個位置引數以及兩個可變長引數
def test_var_args(farg, *args):
print "formal arg:", farg
for arg in args:
print "another arg:", arg
test_var_args(1, "two", 3)
結果:
formal arg: 1
another arg: two
another arg: 3
這裡有乙個鍵值的例子,傳遞乙個位置引數和兩個鍵值引數
def test_var_kwargs(farg, **kwargs):
print "formal arg:", farg
for key in kwargs:
print "another keyword arg: %s: %s" % (key, kwargs[key])
test_var_kwargs(farg=1, myarg2="two", myarg3=3)
結果:
formal arg: 1
another keyword arg: myarg2: two
another keyword arg: myarg3: 3
這種語法不僅在函式定義中可以使用,在呼叫函式是也會出現
(相當於extract package的效果)
在呼叫函式時,使用args和*kwargs
def test_var_args_call(arg1, arg2, arg3):
print "arg1:", arg1
print "arg2:", arg2
print "arg3:", arg3
args = ("two", 3)
test_var_args_call(1, *args)
結果:
arg1: 1
arg2: two
arg3: 3
**kwargs
def test_var_args_call(arg1, arg2, arg3):
print "arg1:", arg1
print "arg2:", arg2
print "arg3:", arg3
kwargs =
test_var_args_call(1, **kwargs)
結果:
arg1: 1
arg2: two
arg3: 3
python中args和kwargs引數的使用
在python中,規定了函式中的形參前帶 的,稱為可變位置引數,通常用 args表示。args表示乙個元組,傳入的引數值會被放到這個元組裡面,型別可以是任意的。同理,函式中形參前帶 的,成為可變關鍵字引數,通常用 kwargs表示。表示乙個字典,傳入的引數以鍵值對的形式存放在了字典裡面。下面我們來看...
Python中 args 和 kwargs的用法
好久沒有學習python了,應為工作的需要,再次拾起python,喚起記憶。當函式的引數不確定時,可以使用 args 和 kwargs,args 沒有key值,kwargs有key值。還是直接來 吧,廢話少說 python def fun var args farg,args print arg f...
Python中 args 和 kwargs的用法
當函式的引數不確定時,可以使用 args 和 kwargs,args 沒有key值,kwargs有key值。還是直接來 吧,廢話少說 python view plaincopyprint?def fun var args farg,args print arg farg for value in a...