用包裹(packing)位置参数,或者包裹关键字参数,来进行参数传递,会显得非常方便。
包裹位置传递
# 接收所有位置参数,返回一个元组
def user_info(*args):
print(args)
user_info('TOM')
user_info('TOM', 20)
user_info('TOM', 20, 'man')
user_info()
注意:传进的所有参数都会被args变量收集,它会根据传进参数的位置合并为一个元组(tuple), args是元组类型,这就是包裹位置传递。
结果为元组类型
包裹关键字传递
# 收集所有关键字参数,返回一个字典
def user_info(**kwargs):
print(kwargs)
user_info()
user_info(name='TOM')
user_info(name='TOM', age=20)
结果为字典类型