Python yield语法的使用分析

2023-04-09 12:18:00 python 分析 语法

Python的yield关键字用于实现生成器,可以理解为return的升级版。yield不像return会结束函数的执行,而是将函数的执行暂停,并返回yield后面表达式的值,下次调用函数时从当前位置继续执行。

使用yield实现的函数被称为生成器(generator),生成器是一种特殊的迭代器,可以通过for循环来迭代。

下面通过一个简单的例子来说明如何使用yield实现生成器。

实例

#!/usr/bin/python3

def fibonacci(n): # 生成器函数 - 斐波那契

a, b, counter = 0, 1, 0

while True:

if (counter > n):

return

yield a

a, b = b, a + b

counter += 1

f = fibonacci(10) # f 是一个迭代器,由生成器返回生成

while True:

try:

print (next(f), end=" ")

except StopIteration:

sys.exit()

相关文章