defadd(x,y,z):
ret = x + y + z
return ret
# 位置参数示例print(add(1,2,3))#输出:6# 关键字参数print(add(x=4, y=5, z=6))#输出:15# 位置参数必须在关键字参数之前print(add(1, z=2, y=3))#输出:6
可以使用关键字参数传值或者位置参数传值;
位置参数可以和关键字参数一起使用,但是位置参数必须在关键字参数之前;
当使用关键字参数传值或者位置参数传值时会覆盖默认参数的值;
#默认参数defadd(x=1,y=2,z=3):
ret = x + y + z
return ret
print(add(10,20,30))#输出:60print(add(x=1, y=2, z=3))#输出:6print(add(1, z=2, y=3))#输出:6print(add())#输出:6print(add(1))#输出:6print(add(1, y=2))#输出:6print(add(z=3))#输出:6
5.可变位置参数和可变关键字参数
# 可变位置参数defadd(*args):print(type(args))for x in args:print(x)#输出:<class 'tuple'>
add(1,2,3)#输出:1 2 3# 可变关键字参数defadd(**kwargs):print(type(kwargs))#输出:<class 'dict'>for key,value in kwargs.items():print('key={}, value={}'.format(key, value))#输出:key=name, value=Robby key=age, value=27
add(name='Robby', age=27)# 可变参数defadd(*args,**kwargs):print('args={}'.format(args))#输出:args=(1, 2, 3)print('kwargs={}'.format(kwargs))#输出:kwargs={'name': 'Robby', 'age': 27}
add(1,2,3, name='Robby', age=27)