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

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可以接收任意数量的参数。