python可变参数
时间: 2023-10-12 09:05:47 浏览: 182
Python中的可变参数允许函数接受不定数量的参数。有两种方式可以定义可变参数:使用星号(*)表示的元组参数和使用两个星号(**)表示的字典参数。
1. 元组参数:使用一个星号(*)作为前缀来定义一个元组参数。这样的参数将会收集所有传递给函数的位置参数,并将它们作为一个元组传递给函数内部。
```python
def my_function(*args):
for arg in args:
print(arg)
my_function(1, 2, 3) # 输出:1 2 3
```
在上面的例子中,`args`是一个包含所有传递给函数的位置参数的元组。
2. 字典参数:使用两个星号(**)作为前缀来定义一个字典参数。这样的参数将会收集所有传递给函数的关键字参数,并将它们作为一个字典传递给函数内部。
```python
def my_function(**kwargs):
for key, value in kwargs.items():
print(key, value)
my_function(name='Alice', age=25) # 输出:name Alice age 25
```
在上面的例子中,`kwargs`是一个包含所有传递给函数的关键字参数的字典。
需要注意的是,一个函数可以同时拥有元组参数和字典参数,但是元组参数必须在字典参数之前。例如:
```python
def my_function(*args, **kwargs):
# 处理位置参数
for arg in args:
print(arg)
# 处理关键字参数
for key, value in kwargs.items():
print(key, value)
```
这样的函数可以接受任意数量的位置参数和关键字参数。
阅读全文