先舉個 ** 使用的例子:
data = {"a": 1, "b": 2} def foo(**kwargs): print kwargs foo(a=1, b=2) # foo(data) # 這種調用data的方法會報錯
>>>
{'a': 1, 'b': 2}
可以看出,**代表了給函數傳入參數的方式是:a=1形式,即:參數名=參數值,並且不管傳入幾個值,該函數都會轉化為字典處理
再舉一個*的使用的例子:
data = {"a": 1, "b": 2} def foo(*kwargs): print kwargs foo(data, "aaa", "bbb")
可以看出,使用*args可以傳入多個參數,並且處理時,按照現將多個值轉成一個元組處理