在Python中,一个星号(*)通常用于函数参数,表示参数收集(parameter packing)。具体来说:
1. 当一个函数定义中使用一个星号(*args)作为参数前缀时,它表示该函数可以接受任意数量的位置参数,这些参数会被打包成一个元组(tuple)。
2. 当函数定义中使用两个星号( kwargs)作为参数前缀时,它表示该函数可以接受任意数量的关键字参数,这些参数会被打包成一个字典(dict)。
使用星号收集参数的好处是,你可以在调用函数时传递任意数量的参数,而不必担心它们的具体数量或顺序。
例如:
```python
def func(*args, kwargs):
for arg in args:
print(f"位置参数:{arg}")
for key, value in kwargs.items():
print(f"关键字参数:{key} = {value}")
func(1, 2, 3, a=4, b=5, c=6)
输出:
```
位置参数:1
位置参数:2
位置参数:3
关键字参数:a = 4
关键字参数:b = 5
关键字参数:c = 6