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}")

 

posted @ 2023-11-24 10:28  万溪汇海  阅读(3)  评论(0编辑  收藏  举报