在python中,可以传入任意多个参数有两种方式: *args, **kwarg
- *args
*args可变长参数,能够使得传入任意个位置实参。在*args中,数据是保存在一个元组中的。
# 注意:如果有额外的位置形参,必须写在*args前面
def add(a, b, *args):
print('*args中的数据:{}'.format(args))
c = a + b
for i in args:
c += i
return c
print(add(1, 2, 3, 4, 5))
- **kwargs
**kwargs可变长参数,能够使得传入任意个关键字实参。在**kwargs中,数据是保存在一个字典中的。
# 注意:如果有额外的关键字形参,必须写在**kwargs前面
def add(name='', **kwargs):
print('*args中的数据:{}'.format(kwargs))
print('name=', name)
for i in kwargs:
print(i, '=', kwargs[i])
add(name='张三', age=18, sex='男')
最后:位置参数必须写在关键字参数前面