可变参数与非可变参数
时间: 2023-06-22 13:27:11 浏览: 55
函数的参数可以分为可变参数和非可变参数。
非可变参数是指在函数定义时已经确定了参数的个数,调用函数时需要传入与参数个数相匹配的参数。例如:
```python
def add(x, y):
return x + y
result = add(2, 3)
print(result) # 输出 5
```
可变参数是指在函数定义时并不知道传入参数的个数,函数调用时可以传入任意个数的参数。Python 中有两种可变参数的方式:
1. *args:表示接收任意个数的非关键字参数。函数内部将这些参数放在一个元组中。
```python
def add(*args):
result = 0
for arg in args:
result += arg
return result
result1 = add(2, 3)
result2 = add(2, 3, 4, 5)
print(result1) # 输出 5
print(result2) # 输出 14
```
2. **kwargs:表示接收任意个数的关键字参数。函数内部将这些参数放在一个字典中。
```python
def greet(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
greet(name="Tom", age=20, gender="male")
# 输出
# name: Tom
# age: 20
# gender: male
```
需要注意的是,在函数定义时,可变参数必须放在非可变参数的后面。例如:
```python
def func(arg1, arg2, *args, **kwargs):
pass
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)