函数参数为** a,传参应该怎么写
时间: 2024-09-13 13:11:19 浏览: 90
python函数的万能参数传参详解
在Python中,如果你想要定义一个函数,允许传入任意数量的位置参数,可以使用星号(*)来捕获剩余的非关键字参数,并将它们作为一个元组打包传递。例如:
```python
def function_with_variable_args(*args):
# 这里 args 就是一个包含所有位置参数的 tuple
for arg in args:
print(arg)
# 调用函数时,可以传入任意数量的参数
function_with_variable_args(1, 2, "Hello", "World")
```
在这个例子中,`*args`表示你可以传入任意数量的参数到`function_with_variable_args`中。如果想进一步处理这些参数,可以在函数体内部像操作普通tuple一样。
如果你想接收关键字参数,可以再加一个星号,如`**kwargs`,它会收集所有形如`key=value`的关键字参数,也是一个字典:
```python
def function_with_keyword_args(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
# 调用函数,使用关键字参数
function_with_keyword_args(name="Alice", age=30)
```
阅读全文