python中方法参数带一个星号和两个星号的区别
时间: 2024-09-29 15:09:46 浏览: 38
python星号参数
在Python中,使用星号(*)来处理参数有特定的含义:
1. **args(两个星号)**:当在函数定义中使用`*args`时,它允许接收任意数量的位置参数,并将它们打包成一个元组。这意味着你可以传入任意数量的非关键字参数给函数,这些参数会在函数内部作为一个有序的元素序列处理。
```python
def func_with_args(*args):
for arg in args:
print(arg)
func_with_args(1, 2, 3, "Hello") # 输出:1 2 3 Hello
```
2. *kwargs(一个星号加一个冒号)**:类似于`*args`,`**kwargs`用于接收任意数量的关键字参数,它们会被打包成一个字典,其中键是参数名,值是对应的参数值。
```python
def func_with_kwargs(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
func_with_kwargs(name="Alice", age=30) # 输出:name: Alice, age: 30
```
阅读全文