小福袋大棚菜 发表于 2024-4-2 20:47:25

函数或方法参数传递问题

★ 一般情况

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

[*]案例

# 函数传入参数顺序    必备 默认 不定长
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(]]]])

"(" : 表示是必传参数,
"[" : 表示可选参数,即已配置缺省参数值
"[, 参数名称" : 表示非第一参数,使用该参数需从第一个依次填写参数,或者使用参数名称赋值(常用)args=(1,)
来源:https://www.cnblogs.com/cs-songbai/p/18110822
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 函数或方法参数传递问题