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

Python中如何使用可变长参数

发布时间:2023-06-18 15:02:13

在Python中,可以使用可变长参数来接收任意数量的参数并且将其打包成一个元组或字典。

使用 *args

使用 *args 可以接收任意数量的位置参数,并将其打包成一个元组。

例如,下面的函数接收任意数量的数值参数并返回它们的和:

def my_sum(*args):
    total = sum(args)
    return total

调用该函数时,可以传递任意数量的参数,如下所示:

my_sum(1, 2, 3, 4)  # 返回 10
my_sum(10, 20, 30)  # 返回 60
my_sum(5, 10, 15, 20, 25)  # 返回 75

使用 **kwargs

使用 **kwargs 可以接收任意数量的关键字参数,并将其打包成一个字典。

例如,下面的函数接收任意数量的关键字参数并返回它们的值之和:

def my_sum(**kwargs):
    total = sum(kwargs.values())
    return total

调用该函数时,可以传递任意数量的关键字参数,如下所示:

my_sum(a=1, b=2, c=3, d=4)  # 返回 10
my_sum(x=10, y=20, z=30)  # 返回 60
my_sum(name='Alice', age=25, city='New York')  # 返回 25

使用 *args 和 **kwargs

可以同时使用 *args 和 **kwargs 来接收任意数量的参数。

例如,下面的函数接收任意数量的位置参数和关键字参数并返回它们的和:

def my_sum(*args, **kwargs):
    total = sum(args) + sum(kwargs.values())
    return total

调用该函数时,既可以传递任意数量的位置参数,也可以传递任意数量的关键字参数,如下所示:

my_sum(1, 2, 3, a=4, b=5, c=6)  # 返回 21
my_sum(10, 20, x=30, y=40)  # 返回 100
my_sum(5, 10, 15, 20, name='Alice', age=25, city='New York')  # 返回 75

总结

在Python中,可变长参数可以使用 *args 或 **kwargs 来接收任意数量的参数,并且可以通过打包成元组或字典的方式进行操作。

*args 可以接收任意数量的位置参数,**kwargs 可以接收任意数量的关键字参数。

可以同时使用 *args 和 **kwargs 来接收任意数量的位置参数和关键字参数。