Python函数中不定长参数的定义与使用详解
本文详细解析Python函数中不定长参数的写法,重点介绍使用*变量名接收剩余位置参数形成元组,以及使用**变量名接收关键字参数形成字典的方法。通过具体代码示例展示必选参数与可选参数的配合使用,以及如何传入元组和字典解包,帮助开发者掌握灵活传参技巧。
在Python函数定义中,不定长参数的写法通常采用 *变量名 的形式来表示。

这种机制允许函数接收不定数量的位置参数,并将它们累加处理。

例如,可以使用 **c 来接收如 m=23, n=56 这样的关键字参数值。
在调用函数时,参数 a 为必选参数必须提供,而 b 和 c 则可以根据需要缺省。

def fun(a, b, *args):
print(a)
print(b)
print(args)
print("="*30)
ret = a + b
for i in args:
ret += i
return ret
print(fun(1,2,3,4))
执行结果如下:
1 2 (3, 4) ============================== 10
在此情况下,前两个值 1, 2 分别赋值给参数 a 和 b,而剩余的位置参数则以元组的形式赋值给 args。
对于字典形式的参数,可以使用 **kwargs 进行接收。
def fun(a, b, *args, **kwargs): print(a) print(b) print(args) print(kwargs) fun(1, 2, 3, 4, name = "hello", age = 20)
对应的运行结果为:
1 2 (3, 4) {'name': 'hello', 'age': 20}
此外,还可以直接传入元组和字典,利用解包操作符 * 和 ** 传递参数。
def fun(a, b, *args, **kwargs):
print(a)
print(b)
print(args)
print(kwargs)
tup = (11,22,33)
dic = {"name":"hello", "age":20}
fun(1, 2, *tup, **dic)
其输出结果如下:
1 2 (11, 22, 33) {'name': 'hello', 'age': 20}
总结
以上就是本文关于Python函数中不定长参数的全部内容,希望这些内容对您的学习或工作有所帮助。如果您想深入了解相关技术,请查阅本站的其他相关链接。感谢支持。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









