python yield理解

yield是一个iterator生成器,而iterator最重要的是next函数。

1. 包含yield的函数首先是一个生成器,调用它并不会执行函数里面的代码。如iterator = func_with_yield()

2. 调用iterator.next()才会调用func_with_yield函数里面的代码,到yield停止,并返回yield后面指定的元素。(想象成iterator)

3. 下一个iterator.next()会从上次yield停止的地方开始,重新开始运行。

 

示例代码

def foo():
    print("starting...")
    while True:
        res = yield 4
        print("res:",res)
g = foo()
print(next(g))
print("*"*20)
print(next(g))
————————————————
版权声明:本文为CSDN博主「冯爽朗」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mieleizhi0522/article/details/82142856

 

上一篇:Python学习笔记之威虎山暗号


下一篇:Java面试题及解析