Python中如何使用 args和 kwargs

2021-08-15 03:49:44 字數 1545 閱讀 6355

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...