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

Python函数:如何处理可变参数列表

发布时间:2023-07-24 07:46:26

在Python中,可变参数允许函数接受任意个数的参数。Python提供了两种方式来处理可变参数列表,即使用*args和**kwargs。

使用*args:

*args允许函数接受任意个数的位置参数。在函数定义中,将*args作为最后一个参数,表示将传入的所有位置参数都打包为一个元组。

示例代码如下:

def my_function(*args):
    for arg in args:
        print(arg)

my_function(1, 2, 3, 4)  # 输出:1 2 3 4

使用**kwargs:

**kwargs允许函数接受任意个数的关键字参数。在函数定义中,将**kwargs作为最后一个参数,表示将传入的所有关键字参数都打包为一个字典。

示例代码如下:

def my_function(**kwargs):
    for key, value in kwargs.items():
        print(key, value)

my_function(name='John', age=25, city='New York')  # 输出:name John, age 25, city New York

同时使用*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, name='John', age=25)  # 输出:1 2, name John, age 25

通过使用*args和**kwargs来处理可变参数列表,可以使函数更加灵活,能够处理任意个数的参数,并且无需提前指定参数的个数。