用python代码实例举例说明yield与return的区别
时间: 2024-02-26 21:59:08 浏览: 58
当我们在函数中使用 `return` 关键字时,函数会返回一个值并且结束执行,而在使用 `yield` 关键字时,函数会暂停执行并将当前状态保存,然后返回一个值给调用方,但是函数并不会结束执行,而是可以在之后继续执行并返回更多的值。
下面是一个使用 `return` 的例子:
```python
def get_numbers():
return [1, 2, 3, 4, 5]
numbers = get_numbers()
print(numbers)
```
输出结果为:
```
[1, 2, 3, 4, 5]
```
而下面是一个使用 `yield` 的例子:
```python
def get_numbers():
yield 1
yield 2
yield 3
yield 4
yield 5
numbers = get_numbers()
for number in numbers:
print(number)
```
输出结果为:
```
1
2
3
4
5
```
可以看到,在使用 `yield` 关键字时,函数并没有立即返回所有的值,而是在每次调用 `next()` 函数时返回一个值,并且在函数内部暂停执行。这使得我们可以使用更少的内存来处理大量的数据,因为在使用 `return` 时,所有的值都需要在函数内部存储并在一次性地返回给调用方。
阅读全文