不定参数:
*args用来接收除位置参数和键值对以外的所有参数组包为一个元组,在传参时也可以用来把元组拆包成一个个元素。
**kwargs用来接收除位置参数 以外的所有键值对参数组包为一个字典,在传参时也可以用来把字典拆包成一个个键值对。
在python没有像java和c那样的重载,就是因为使用了不定参数解决了参数个数不确定的问题。
def func01(a, b, *args, **kwargs):
print(a)
print(b)
print(args)
print(kwargs)
def func02(a, b, *args, **kwargs):
func01(a, b, args, kwargs)#不正确的传参方式
print("*"*30)
func01(a, b, *args, **kwargs)
func02(1, 2, 3, 4, 5, age=18)