Python 函数支持不定长参数,它们允许函数接受任意数量的参数。Python 中有两种类型的不定长参数:*args 和 **kwargs。
*args 参数用于传递一个不定数量的位置参数。在函数定义中,*args 参数以一个星号开头,这表示它将接受一个元组。以下是一个使用 *args 参数的函数示例:
def sum(*args): total = 0 for num in args: total += num return total
这个函数可以接受任意数量的参数,并将它们相加,返回它们的总和。例如:
>>> sum(1, 2, 3, 4, 5) 15 >>> sum(10, 20, 30) 60
**kwargs 参数用于传递一个不定数量的关键字参数。在函数定义中,**kwargs 参数以两个星号开头,这表示它将接受一个字典。以下是一个使用 **kwargs 参数的函数示例:
def print_kwargs(**kwargs): for key, value in kwargs.items(): print(f"{key}: {value}")
这个函数可以接受任意数量的关键字参数,并将它们打印出来。例如:
>>> print_kwargs(name="Alice", age=25, city="New York") name: Alice age: 25 city: New York
在这个例子中,函数接受了三个关键字参数,并将它们打印出来。
在函数定义中,*args 和 **kwargs 参数通常放在所有参数的最后,以便它们可以接受任意数量的位置参数和关键字参数。例如:
def my_function(arg1, arg2, *args, **kwargs): # function body
在这个例子中,函数 my_function() 接受两个必需的参数 arg1 和 arg2,以及任意数量的位置参数 *args 和任意数量的关键字参数 **kwargs。