python函数的参数中 ,* 和**的差别
时间: 2023-12-22 08:03:51 浏览: 214
* 和** 在Python函数参数中的差别如下:
*args:表示接受任意数量的非关键字参数,这些参数会被打包成一个元组(tuple)传递给函数。在函数内部,可以通过遍历元组来访问这些参数的值。
**kwargs:表示接受任意数量的关键字参数,这些参数会被打包成一个字典(dict)传递给函数。在函数内部,可以通过字典的键来访问这些参数的值。
下面是一个示例,演示了*args和**kwargs的使用:
```python
def fun_var_args(farg, *args, **kwargs):
print("farg:", farg)
for value in args:
print("another arg:", value)
for key, value in kwargs.items():
print("keyword arg -", key, ":", value)
fun_var_args("Hello", "World", "!")
# 输出:
# farg: Hello
# another arg: World
# another arg: !
```
在上面的示例中,"Hello"被赋给了farg,"World"和"!"被打包成一个元组传递给了args。因为没有关键字参数,所以kwargs为空字典。
阅读全文