*args和**kwargs
时间: 2023-09-07 11:12:04 浏览: 104
python参数传递的*args和**kwargs
`*args` 和 `**kwargs` 是在Python中常用的两个特殊参数。它们允许函数接受不定数量的参数。
`*args` 用于传递一个不定数量的位置参数(即以元组形式传递)。当函数被调用时,所有的位置参数都被收集到一个元组中,该元组会作为 `args` 参数传递给函数。这样函数就可以处理不定数量的位置参数。
下面是一个示例:
```python
def show_args(*args):
for arg in args:
print(arg)
show_args('apple', 'banana', 'cherry')
```
输出结果:
```
apple
banana
cherry
```
`**kwargs` 用于传递一个不定数量的关键字参数(即以字典形式传递)。当函数被调用时,所有的关键字参数都被收集到一个字典中,该字典会作为 `kwargs` 参数传递给函数。这样函数就可以处理不定数量的关键字参数。
下面是一个示例:
```python
def show_kwargs(**kwargs):
for key, value in kwargs.items():
print(key, value)
show_kwargs(name='Alice', age=25, city='New York')
```
输出结果:
```
name Alice
age 25
city New York
```
通过使用 `*args` 和 `**kwargs`,我们可以编写更灵活的函数,能够接受不同数量和类型的参数。
阅读全文