python中的yield和return
时间: 2023-09-14 17:12:39 浏览: 170
在Python中,`yield`和`return`是用于函数中返回值的关键字,但它们有一些不同的行为和用法。
1. `return`语句:
- `return`语句用于函数执行完毕后立即返回结果,并且结束函数的执行。
- `return`关键字后面可以跟一个表达式,表示函数的返回值。
- 函数可以有多个`return`语句,但只有一个`return`语句会被执行。
- 示例:
```python
def add(a, b):
return a + b
result = add(2, 3)
print(result) # 输出:5
```
2. `yield`语句:
- `yield`语句用于定义一个生成器函数,在函数执行过程中可以通过`yield`生成一个值,并且暂停函数的执行状态。
- 每次调用生成器函数时,它会从上次暂停的位置继续执行。
- 生成器函数可以使用`yield`返回多个值,每次调用生成器函数时会返回一个值。
- 示例:
```python
def my_generator():
yield 1
yield 2
yield 3
gen = my_generator()
print(next(gen)) # 输出:1
print(next(gen)) # 输出:2
print(next(gen)) # 输出:3
```
- 注意:生成器函数使用`yield`时,不会立即执行函数体内的代码,而是在迭代时才会逐步执行。
总结:
- `return`语句用于函数立即返回结果并结束函数的执行。
- `yield`语句用于生成器函数,在函数执行过程中可以生成多个值并暂停函数的执行状态。
阅读全文