欢迎访问宙启技术站
智能推送

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用于传输任意数量的关键字参数。在使用可变长参数时,需要注意参数的个数和类型,以及参数的顺序和命名规则,避免出现调用错误和逻辑混乱等问题。