python两个魔方变量使用说明
python两个魔方变量使用说明
ytkz我常常分不清楚python中的args和*kwargs的用法,所以才有这篇文章的编写的必要性。
args、*kwargs主要用于函数定义,可以将不确定个数的参数传递给一个函数。
在 Python 中,通过在函数定义中的参数名称的头部添加*
和**
(一个或两个星号),
可以在调用函数时指定任意数量的参数(可变长度参数)。
注意,参数的英文是argument。
*args
一般的函数是确定参数的个数的。在这里,不确定个数的意思是,预先不知道使用者会传
递多少个参数。*args是代表一个非键值对的可变数量的参数列表给一个函数。
def test_args(*args):
if len(args) !=0:
for arg in args:
print('参数是:%s'%arg)
else:
print('这个函数没有输入参数')
test_args('1','2',3)
test_args()
test_args(‘1’,’2’,3)会返回:
参数是:1
参数是:2
参数是:3
test_args()会返回:
这个函数没有输入参数
这里test_args(‘1’,’2’,3) 等价于 test_args([‘1’,’2’,3]),*args代指[‘1’,’2’,3]
**kwargs
**kwargs代表一个不确定个数的键值对,传递给函数例子如下:
def test_kwargs(**kwargs):
for key, value in kwargs.items():
print("{0}={1}".format(key, value))
test_kwargs(name='qqq')
返回:
name=qqq
小结
*args
: 接收多个参数作为一个元组
**kwargs
: 接收多个关键字参数作为字典