python6.7-函数的不定长参数

python6.7-函数的不定长参数
不定长参数介绍不定长参数也可叫可变参数用于 函数定义及调用 参数个数不确定0个或多个的场景。类型位置传递关键字传递不定长参数——位置传参*args注意传递的所有匹配的位置参数都会被args变量收集这些参数会合并封装为一个元组args是元组类型注意并不会封装关键字参数。注意args只是约定俗成的变量名并不是关键字这里可以使用任何合法的变量名如*datadef sum_numbers(*args): total 0 for num in args: total num print(f参数: {args}, 总和: {total}) return total sum_numbers(1, 2, 3) sum_numbers(1, 2, 3, 4, 5)不定长参数——关键字传参**kwargsdef print_info(**kwargs): for key, value in kwargs.items(): print(f{key}: {value}) print_info(name小明, age18, city深圳)注意参数是以“键值”形式传递的关键字参数这些“键值”参数都会被kwargs接受并合并封装为一个字典类型注意kwargs只是约定俗成的变量名并不是关键字这里可以使用任何合法的变量名如*options混合使用# 6. 混合使用 # 参数顺序: 位置参数 - 默认参数 - *args - **kwargs def func(a, b, c10, *args, **kwargs): print(fa{a}, b{b}, c{c}) print(fargs{args}) print(fkwargs{kwargs}) func(1, 2) #a1, b2, c10 args() kwargs{} func(1, 2, 3) #a1, b2, c3 args() kwargs{} func(1, 2, 3, 4, 5) #a1, b2, c3 args(4, 5) kwargs{} func(1, 2, 3, 4, 5, name测试, value100) #a1, b2, c3 args(4, 5) kwargs{name: 测试, value: 100}参数解包def add(a, b, c): return a b c # 列表/元组解包 (使用 *) nums [1, 2, 3] print(f列表解包结果: {add(*nums)}) # 字典解包 (使用 **) params {a: 10, b: 20, c: 30} print(f字典解包结果: {add(**params)})