1、**的作用首先是一个简单的例子,定义一个带有3个参数的函数def fun(a, b, c): print a, b, c这个函数可以使用多种方法进行调用fun(1,2,3)输出:1 2 3 fun...(1, b=4, c=6)输出:1 4 6 接下来使用**来进行函数调用,首先需要一个字典,就像使用*进行函数调用时需要列表或者元组一样d={'b':5, 'c':7}fun(1, **d)执行之后的输出为...d={'a':1, 'b':2, 'c':3, 'd':4}fun(**d)上面的代码会报错:TypeError: fun() got an unexpected keyword argument 'd...'2、**kwargs的作用重新定义我们的fun函数def fun(a, **kwargs): print a, kwargs这个函数因为形参中只有一个a,所以只有一个positional argument...但是却有一个可以接收任意数量关键词参数的kwargs。使用**kwargs定义参数时,kwargs将会接收一个positional argument后所有关键词参数的字典。