在Python中,可变参数允许你在函数定义时接收任意数量的位置参数和关键字参数。可变参数主要有两种形式:*args 和 **kwargs。
1. 使用 *args
*args 用于接收任意数量的位置参数。这些参数会被存储为一个元组。
def func(*args):
for arg in args:
print(arg)
func(1, 2, 3) # 输出: 1 2 3
2. 使用 **kwargs
**kwargs 用于接收任意数量的关键字参数。这些参数会被存储为一个字典。
def func(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
func(name="Alice", age=30) # 输出: name: Alice age: 30
3. 组合使用
你可以同时使用 args 和 **kwargs,但args 必须在 **kwargs 之前。
def func(*args, **kwargs):
print("Positional arguments:", args)
print("Keyword arguments:", kwargs)
func(1, 2, 3, name="Bob", age=25)
# 输出:
# Positional arguments: (1, 2, 3)
# Keyword arguments: {'name': 'Bob', 'age': 25}
4. 使用示例
你可以使用可变参数来处理不确定数量的输入,例如计算任意数量数字的和:
def sum_numbers(*args):
return sum(args)
print(sum_numbers(1, 2, 3, 4)) # 输出: 10
可变参数非常灵活,适用于需要处理不定数量参数的场景。