在 python 中,*args 和 **kwargs 都代表 1個 或 多個 參數的意思。*args 傳入tuple 類型的無名參數,而 **kwargs 傳入的參數是 dict 類型。下文舉例說明。
1.*args 的用法,以下測試代碼:
def test(*args): print(args) for i in args: print(i) test(1,2,3) # 輸出值分別為 # (1,2,3) # 1 # 2 # 3
2.**kwargs 的用法,以下測試代碼:
def test(**kwargs): print(kwargs) keys = kwargs.keys() value = kwargs.values() print(keys) print(value) test(a=1,b=2,c=3,d=4) # 輸出值分別為 # {'a': 1, 'b': 2, 'c': 3, 'd': 4} # dict_keys(['a', 'b', 'c', 'd']) # dict_values([1, 2, 3, 4])