一个包含yield关键字的函数就是一个生成器函数。并且yield不能和return共用,并且yield只能用在函数内。
yield和return相同的是可以返回值,但是不同的是yield不会结束函数。
def fib(n): # 创建一个函数
a,b=1,1
i=1 # 初始值
while i<=n: # i小于等于n,n次数 循环的控制条件
yield a # 返回a的值,但不结束函数
a,b=b,a+b
i+=1 # 步长值
for x in fib(12): # 以for循环来获取yield每次的值
print(x)