Python函数:如何传递可变数量的参数?
发布时间:2023-12-03 06:08:10
在Python中,我们可以使用\*args和**kwargs来传递可变数量的参数。
1. 使用\*args传递可变数量的位置参数:当我们不知道函数会接收多少个位置参数时,可以使用\*args来传递可变数量的参数。在函数定义中,将\*args作为参数,在调用函数时可以传入任意数量的参数。函数内部会将接收到的所有参数组成一个元组。
示例代码:
def my_function(*args):
for arg in args:
print(arg)
my_function(1, 2, 3, 4, 5)
输出:
1 2 3 4 5
2. 使用**kwargs传递可变数量的关键字参数:当我们不知道函数会接收多少个关键字参数时,可以使用\**kwargs来传递可变数量的参数。在函数定义中,将\**kwargs作为参数,在调用函数时可以传入任意数量的关键字参数。函数内部会将接收到的所有关键字参数组成一个字典。
示例代码:
def my_function(**kwargs):
for key, value in kwargs.items():
print(key, value)
my_function(name='John', age=30, city='New York')
输出:
name John age 30 city New York
3. 同时使用\*args和**kwargs传递可变数量的参数:如果我们希望函数能够接收任意数量的位置参数和关键字参数,可以同时使用\*args和**kwargs。
示例代码:
def my_function(*args, **kwargs):
for arg in args:
print(arg)
for key, value in kwargs.items():
print(key, value)
my_function(1, 2, 3, name='John', age=30)
输出:
1 2 3 name John age 30
总结:使用\*args和**kwargs可以让我们的函数在不知道参数数量的情况下更加灵活。\*args可以传递可变数量的位置参数,**kwargs可以传递可变数量的关键字参数,而同时使用\*args和**kwargs可以接收任意数量的参数。
