func(*args, **kwargs)
时间: 2024-08-14 07:06:57 浏览: 31
Python 中的*args 和**kwargs
`*args` 和 `**kwargs` 是Python中用于函数参数的一种特殊语法:
1. `*args` (星号表达式) 是一个可变数量的位置参数。当你调用函数时,它允许你传入任意数量的位置参数,并将它们打包成一个元组(tuple)。例如:
```python
def func_with_args(*args):
print(f"Positional arguments: {args}")
func_with_args(1, 2, 3) # 输出: Positional arguments: (1, 2, 3)
```
2. `**kwargs` (双星号表达式) 是一个可变数量的关键字参数。同样地,它可以接收任意数量的关键字参数并将其打包成一个字典(dict),其中关键字是参数名,值是对应的参数值。
```python
def func_with_kwargs(**kwargs):
print(f"Keyword arguments: {kwargs}")
func_with_kwargs(name='Alice', age=30) # 输出: Keyword arguments: {'name': 'Alice', 'age': 30}
```
这些特性使得函数能够更灵活地接受不同类型的参数,增强了函数的适应性。当你不确定函数需要多少参数,或者希望让使用者以更自由的方式传递参数时,这种灵活性非常有用。
阅读全文