简述Python函数参数定义中的*arg和**arg含义
时间: 2024-06-14 21:01:33 浏览: 166
在Python中,*args和**kwargs是两种特殊的函数参数定义方式。
*args可以用来传递不定数量的位置参数,它会将这些参数打包成一个元组传递给函数。示例如下:
```
def myfunc(*args):
for arg in args:
print(arg)
myfunc(1, 2, 3)
```
输出:
```
1
2
3
```
**kwargs则可以用来传递不定数量的关键字参数,它会将这些参数打包成一个字典传递给函数。示例如下:
```
def myfunc(**kwargs):
for key, value in kwargs.items():
print(key, value)
myfunc(name='Bob', age=30, gender='male')
```
输出:
```
name Bob
age 30
gender male
```
需要注意的是,这两种参数定义方式可以结合使用,但是*args必须放在**kwargs前面,示例如下:
```
def myfunc(*args, **kwargs):
for arg in args:
print(arg)
for key, value in kwargs.items():
print(key, value)
myfunc(1, 2, name='Bob', age=30)
```
输出:
```
1
2
name Bob
age 30
```
阅读全文