1. 程式人生 > >*args和**kwargs的區別

*args和**kwargs的區別

*args和**kwargs只是為了方便,並沒有強制使用他們

args是當你不確定要往函式裡面傳遞多少個引數的時候你可以使用args,舉個簡單的例子

def func(*args):
    print(args)

func("asd","qwe","zxc")

或者

def func(name,*args):
    print(name)
    for i in args:
        print(i)

func("csdn","asd","qwe","zxc")

輸出

csdn
asd
qwe
zxc

csdn是由name傳遞的值,asd,qwe,zxc則全是由args傳遞的

**kwargs傳遞的是關鍵字引數,就是func(中的x,y,z不可以省略),可以當作一個字典,例如:

def func(**kwargs):
    print(kwargs)
    print(type(kwargs))#檢視kwargs的型別

func(x = 1,y = 2,z = 3)

輸出

{'x': 1, 'y': 2, 'z': 3}
<class 'dict'>

可以看出輸出的結果為一個字典

以上就是*args和**kwargs的簡單區別