# 固定参数+ 动态位置参数
def my_function(a,b,*args):
print(a)
print(b)
print(args)
my_function(1,'c',1,2,3,4,5,6)
# 输出
# 1 # 固定位第一个占位符
# c # 固定位第二个占位符
# (1, 2, 3, 4, 5, 6) # 剩下的部分
# 可变关键词参数
def my_funciton2(a,b,**kwargs):
print("a=",a,"a=",b,"kwargs=",kwargs)
my_funciton2(b="bbb",c="1123123",d=123123123,a="aaa")
# 输出 a= aaa a= bbb kwargs= {'c': '1123123', 'd': 123123123}
# 混合状态
def my_function3(a,b,*args,c="",**kwargs):
print("a=",a,"a=",b,"args=",args,"c=",c,"kwargs=",kwargs)
my_function3(1,2,3,4,5,6,"bbb",c="1123123",d=123123123,aaa="1231skks")
# 输出 a= 1 a= 2 args= (3, 4, 5, 6, 'bbb') c= 1123123 kwargs= {'d': 123123123, 'aaa': '1231skks'}
# 总结:混合状态中,*args除了固定定义的占位符参数 剩下占位符的参数 即为 args参数
# **kwargs 除了固定定义的字典参数外 其余部分即为kwargs 参数
# 多种混合情况下 注意参数位置,如果位置先后顺序不对会导致调用失败
标签:函数,args,bbb,参数,kwargs,print,动态,my
From: https://www.cnblogs.com/bengguo/p/18330483