python中的*args和**kwargs

python支持可變參數:可使用*args、**kwargs實現python

  • *args是可變的positional arguments列表,是一個tuple。
  • **kwargs是可變的keyword arguments列表,是一個dict。
  • *args必須位於 **kwargs以前,由於positional arguments必須位於keyword arguments以前。

*args、**kwargs的使用:函數

  • 函數定義:是一個將參數pack的過程
  • 函數調用:將參數unpack

例子:code

def foo(*args, **kwargs):
    print("args:")
    print(args)
    print("kwargs:")
    print(kwargs)


foo(1, 2, 3, 4)
foo(a=1, b=2, c=3)
foo("a", 1, None, a=1, b=2, c=3)

運行結果:it

args:
(1, 2, 3, 4)
kwargs:
{}
args:
()
kwargs:
{'a': 1, 'b': 2, 'c': 3}
args:
('a', 1, None)
kwargs:
{'a': 1, 'b': 2, 'c': 3}
相關文章
相關標籤/搜索