函数 动态参数

# 固定参数+ 动态位置参数
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 参数
#                 多种混合情况下 注意参数位置,如果位置先后顺序不对会导致调用失败

posted @ 2024-07-29 16:56  文武双全·墨海纵横  阅读(17)  评论(0)    收藏  举报