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 来接收任意数量的位置参数和关键字参数。
