【Python】*args和**kwargs
一、*args: 接收不定数量的位置参数
在Python中,函数定义时可以通过*args
接收任意数量的位置参数。
这里的星号(*
)告诉解释器将所有额外的位置参数打包成一个元组
传递给函数。
这使得函数可以处理比预期更多的输入,而不必提前确定参数的数量。
示例1:简单的加法计算器
def add_numbers(*args):
"""计算传入的所有数字之和"""
return sum(args)
print(add_numbers(1, 2, 3)) # 输出: 6
print(add_numbers(10, 20, 30, 40)) # 输出: 100
在这个例子中,add_numbers
函数能够接受任意数量的整数作为参数,并返回它们的总和。
这里的关键点在于*args
允许我们不必为每个可能的参数都定义一个变量名,从而使函数更加通用。
示例2:转发参数给另一个函数
有时候你可能会有一个函数A
需要调用另一个函数B
,并且希望把所有接收到的参数直接传递给B
。
这时就可以使用*args
:
def wrapper_function(*args):
print("Calling the wrapped function with:", args)
result = wrapped_function(