函数或方法参数传递问题

★ 一般情况

函数参数的传入顺序依次为:  
必备参数 => 默认参数 => 不定长参数 => 关键字参数
  • 案例

    # 函数传入参数顺序    必备 默认 不定长
    def double_sum(x, y=88, *args, **kwargs):
        print(x)
        print(y)
        print(args)
        print(kwargs)
    
    
    double_sum(10, 20, 30, 40, name=10)
    
  • 执行结果

    10
    20
    (30, 40)
    {'name': 10}
    

★ 特殊情况

如果很多个值都是不定长参数,那么这种情况下,可以将缺省参数放到 *args的后面, 但如果有**kwargs的话,**kwargs必须是最后的(python3环境下)
  • 案例

    def sum_nums_3(a, *args, b=22, c=33, **kwargs):
        print(a)
        print(b)
        print(c)
        print(args)
        print(kwargs)
    
    sum_nums_3(100, 200, 300, 400, 500, 600, 700, b=1, c=2, mm=800, nn=900)
    
  • 执行结果

    100
    1
    2
    (200, 300, 400, 500, 600, 700)
    {'mm': 800, 'nn': 900}
    

★ 语法格式描述说明

apply_async(func[, args[, kwds]]) 
Process([group [, target [, name [, args [, kwargs]]]]])

"(" : 表示是必传参数,
"[" : 表示可选参数,即已配置缺省参数值
"[, 参数名称" : 表示非第一参数,使用该参数需从第一个依次填写参数,或者使用参数名称赋值(常用)  args=(1,)

热门相关:聊斋大圣人   贩罪   天帝龙魂   医道至尊   天王的专属恋人:独家宝贝