在Python中,实现可变参数的方式主要有两种:
1. 使用 `*args` 来接收任意数量的位置参数,这些参数会被打包成一个元组。
2. 使用 ` kwargs` 来接收任意数量的关键字参数,这些参数会被打包成一个字典。
示例代码
使用 `*args`
```python
def sum_all(*args):
total = 0
for num in args:
total += num
return total
print(sum_all(1, 2, 3, 4, 5)) 输出:15
使用 ` kwargs`
```python
def print_student_info(kwargs):
for key, value in kwargs.items():
print(f"{key} = {value}")
print_student_info(name="Alice", age=25, major="Computer Science")
输出:
name = Alice
age = 25
major = Computer Science
注意事项
`*args` 必须出现在所有位置参数之后,并且位置参数必须出现在 `*args` 之前。
` kwargs` 必须出现在所有关键字参数之后,并且关键字参数必须出现在 `kwargs` 之前。
`*args` 收集的是位置参数,而 ` kwargs` 收集的是关键字参数。
在函数内部,你可以像处理普通元组或字典一样处理 `*args` 和 ` kwargs`。
希望这能帮助你理解Python中可变参数的实现方式