Python中的可变长参数是什么?
发布时间:2023-06-25 08:17:48
可变长参数也称为不定长参数,是指函数的参数列表数量不固定,可以接受任意数量的位置参数和/或关键字参数。Python中有两种常见的可变长参数,分别是:
1. *args
*args是一个元组类型的可变长参数,用于传输任意数量的非关键字参数,总是放在函数定义的最后一个参数位置上。在函数体内部,可以像操作元组一样使用*args,它可以使一个函数能够接受任意数量的非关键字参数,而不必预先定义函数的形参数量。例如:
def sum(*args):
total = 0
for num in args:
total += num
return total
sum(1, 2, 3) # 6
sum(4, 5, 6, 7) # 22
2. **kwargs
**kwargs是一个字典类型的可变长参数,用于传输任意数量的关键字参数,总是放在函数定义中最后一个参数位置上,并在其他参数后面。在函数体内部,可以像操作字典一样使用**kwargs,它可以使一个函数能够接受任意数量的关键字参数,而不必预先定义函数的形参名称。例如:
def student_info(name, **kwargs):
print("Name:", name)
for key, value in kwargs.items():
print(key, ":", value)
student_info("John", age=25, major="Computer Science", GPA=3.8)
输出:
Name: John age : 25 major : Computer Science GPA : 3.8
总结
可变长参数是Python语言的一种特性,能够使函数能够接受任意数量的参数,并且不必预先定义函数的形参数量和名称。*args和**kwargs都是常用的可变长参数形式,*args用于传输任意数量的非关键字参数,**kwargs用于传输任意数量的关键字参数。在使用可变长参数时,需要注意参数的个数和类型,以及参数的顺序和命名规则,避免出现调用错误和逻辑混乱等问题。
