Python中 args和 kwargs的區別

2021-10-11 18:53:30 字數 1536 閱讀 6820

*args 用來將引數打包成tuple給函式體呼叫

def function(*args):

print(args, type(args))

function(1)

輸出結果為元組:

(1,) process finished with exit code 0
def function(x, y, *args):

print(x, y, args)

function(1, 2, 3, 4, 5)

輸出結果:

1 2 (3, 4, 5)

process finished with exit code 0

**kwargs 打包關鍵字引數成dict給函式體呼叫

def function(**kwargs):

print(kwargs, type(kwargs))

function(a=2)

輸出結果為列表:

process finished with exit code 0
def function(**kwargs):

print(kwargs)

function(a=1, b=2, c=3)

輸出結果:

process finished with exit code 0

引數arg、*args、**kwargs三個引數的位置必須是一定的。必須是(arg,*args,**kwargs)這個順序,否則程式會報錯。

def function(arg,*args,**kwargs):

print(arg,args,kwargs)

function(6,7,8,9,a=1, b=2, c=3)

輸出結果:

6 (7, 8, 9) 

process finished with exit code 0

若顛倒位置,則會報錯。

def function(arg,*args,**kwargs):

print(arg,args,kwargs)

function(6,a=1,8,9,a=1, b=2, c=3)

輸出結果

function(6,a=1,8,9,a=1, b=2, c=3)

^syntaxerror: positional argument follows keyword argument

end~         

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