python 中* 和**的作用

先举个 ** 使用的例子:

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可以传入多个参数,并且处理时,按照现将多个值转成一个元组处理