0


python中若函数存在yield,程序的执行流程

#标记执行顺序数字 1-24
import sys #1

def fibonacci(n): #2 # 生成器函数 - 斐波纳契
a, b, counter = 0, 1, 0 #8
while True:
if (counter > n): #9 17 22
return #23
yield a #10 18
#调用该函数会在这里返回a,
#下一次调用的时候会执行后面的,然后进入本循环再在这里返回a
a, b = b, a + b #14
counter += 1 #15
print('counter',counter) #16

f = fibonacci(1) #3 # f 是一个迭代器,由生成器返回生成
print(f) #4
while True: #5
try: #6 12 20
x = next(f,None) #7 13 21 #这里调用fibonacci(n)
if x==None: break;#24 退出循环
print (x, end=" ") #11 19
# print (next(f), end=" ")
except StopIteration:
sys.exit()

标签: python

本文转载自: https://blog.csdn.net/weixin_52464500/article/details/122862859
版权归原作者 七巷向天鸽 所有, 如有侵权,请联系我们删除。

“python中若函数存在yield,程序的执行流程”的评论:

还没有评论