https://www.cnblogs.com/Hardworking666/p/15866139.html
def text(x=8, y=9, z=10, *args):
# 这一句只是函数的定义,不要误解为xyz是关键字参数
# xyz是默认参数,如果调用函数的时候没有给xyz参数值,那么就是用默认参数的值
print(x)
print(y)
print(z)
print(args)
可变参数:
*args:以tuple形式存储
**kwargs: 关键字参数,以字典形式存储。既以字典形式存储,那么在调用函数时必须以关键字形式给出定义,也就是给出明确的键值对。如下:
调用函数时给参数的原则:
1.位置参数一定要在关键词参数前面,也就是必须是形如text(1,2,3, q=1, w=2)这种形式。
2.不能对同一个参数多次赋予实参
3. **kwargs此类型的可变参数,赋予实参时必须同时给出关键字和参数值,也就是以键值对形式给出。
4.只要参数全部以关键字形式给出参数,无关参数在函数定义中的位置,顺序随便怎么写。
5. 如果是关键字参数和位置参数混合的,位置参数按照函数的定义是的参数顺序,关键字参数
根据关键字给出。