Python中yeild的用法详解
-
初步认识:先把yield看做return
return:在程序中返回某个值,返回后程序就不再往下运行了
代码:
def foo(): print("starting...") while True: res = yield 4 print("res:",res) g = foo() print(next(g)) print("*"*20) print(next(g))代码输出:
starting... 4 ******************** res: None 4代码解释:
- 程序开始执行的时候,因为foo函数中有yield关键字,所以foo函数并不会真的执行,而是先得到一个生成器g(相当于一个对象)
- 直到调用next方法,foo函数正式开始执行,先执行foo函数中的print方法,然后进入while循环
- 程序遇到yield关键字,然后把yield想成return,return了一个4后,程序停止,并没有执行操作’赋值给res’,此时next(g)语句执行完成,所以输出的前两行(第一个是while上面的print的结果,第二个是return出的结果)是执行print(next(g))的结果
- 程序执行
print("*""*20),输出20个* - 再次执行
print(next(g)),此时从nex

本文详细介绍了Python中的yield关键字,说明其在生成器中的作用。通过示例解析了生成器如何工作,包括其暂停和恢复执行的特性。最后探讨了如何合理使用生成器来节省内存,特别是在处理大量数据时。
最低0.47元/天 解锁文章
1326

被折叠的 条评论
为什么被折叠?



