python类参数*args, **kwargs怎么用
时间: 2024-11-09 21:12:59 浏览: 18
【Python进阶】Word版,可自拓展知识点或写注记。
在Python中,`*args` 和 `**kwargs` 是特殊类型的参数,用于处理可变数量的位置参数和关键字参数。它们通常用在函数定义中,让函数能够接受任意数量的位置参数或关键字参数。
1. `*args`: 这代表零个或更多位置参数的集合,所有传递给函数的位置参数都会被收集到一个元组(tuple)里。例如:
```python
def func(*args):
print("Positional arguments:", args)
func(1, 2, 3, "example") # 输出: Positional arguments: (1, 2, 3, 'example')
```
2. `**kwargs`: 这代表零个或更多关键字参数的集合,所有传递给函数的关键字参数会被收集到一个字典(dictionary)里,键就是参数名,值是对应的参数值。例如:
```python
def func(**kwargs):
print("Keyword arguments:", kwargs)
func(name="John", age=30) # 输出: Keyword arguments: {'name': 'John', 'age': 30}
```
在实际使用时,我们可以在函数体内像访问普通元组或字典那样操作这些参数。注意,在函数内部可以直接使用`*args`和`**kwargs`的名称,无需解包。
例子:
```python
def example_function(*args, **kwargs):
for arg in args:
print(arg, end=' ')
print()
for key, value in kwargs.items():
print(f"{key}: {value}")
example_function(1, 2, 3, name="Alice", age=35)
```
输出:
```
1 2 3
name: Alice age: 35
```
阅读全文