python 生成器
生成器
生成器:当函数中使用了yield关键字那么该函数就是生成器
yield关键字跟return功能一样:可以返回值,并且结束当前函数的执行
核心区别是下次调用该函数会从yield下一行继续执行代码
1 #生成器的定义和使用 2 #函数中有yield关键字那么就不叫函数,叫做生成器 3 def func(): 4 print(1) 5 print(2) 6 print(3) 7 #yield关键字的作业: 8 #跟return功能一样可以返回值 9 #在生成器第二次执行的时候会从yield下面的代码开始运行 10 #函数中使用return第二次及无数次调用函数始终从头开始执行,返回结果 11 yield 4 12 print(5) 13 print(6) 14 print(7) 15 yield 8 16 17 #生成器的使用 18 #生成器可以赋值给变量,该变量叫做生成器对象 19 #可以通过next内建函数进行调用 20 #fn=func() #func()如果不赋值给变量,那么美就不能继续执行yield下面的代码 21 #会跟函数一样从头开始执行,不管执行多少次 22 fn=func() 23 print("第一次调用生成器") 24 num=next(fn) 25 #num=next(func()) #func()如果不赋值给变量,那么美就不能继续执行yield下面的代码 26 print(f"yield返回值:{num}") 27 print("第二次调用生成器") 28 #num=next(func()) 29 num=next(fn ) 30 print(f"yield返回值:{num}")