python 传字典,可变参数和关键字参数*args **kwargs

*args可变参数

在Python函数中,可以定义可变参数。可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。

*args表示把args这个list或者tuple的所有元素作为可变参数传进去。两种传递方式如下:

>>> def foo(x,*args):#x为位置参数 args是可变参数
	print(x)
	print(args)
	
>>> foo(1,2,3,4)#1传给位置参数x,剩下的全部传给args
1
(2, 3, 4)
>>> 

>>> foo(1,*(2,3,4))#可直接把一个tuple或list传给可变参数args
1
(2, 3, 4)

**kwargs关键字参数

可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
>>> def foo(x,**kwargs):
	print(x)
	print(kwargs)

#两种传递方式:**传递或者键值对传递
>>> foo(1,**{"y":2,"z":3})  #可直接把一个字典通过加**传递给关键字参数
1
{'y': 2, 'z': 3}

>>> foo(1,y=2,z=3)   #所有键值对都传给关键字参数
1
{'y': 2, 'z': 3}

猜你喜欢

转载自blog.csdn.net/qq_24822271/article/details/83015759