美文网首页
如何快速理解 Python 的 yied

如何快速理解 Python 的 yied

作者: 陈半仙儿 | 来源:发表于2019-07-06 17:20 被阅读0次

    可以这样去理解,更加直观:

    1. 在函数开始处,加入 result = list()
    2. 将每个 yield 表达式 yield expr 替换为 result.append(expr)
    3. 在函数末尾处,加入 return result

    举例,下面这段代码,

    def createGenerator() :
        mylist = range(3)
        for i in mylist :
            yield i*i
    
    mygenerator = createGenerator() # create a generator
    for i in mygenerator:
        print(i)
    

    从执行结果上来看,按照上面的理解,yield 函数可以改写成下面这样,

    def createGenerator() :
        result = list() # 函数开始处
        mylist = range(3)
        for i in mylist :
            result.append(i*i) # yield 表达式替换
        return result # 函数结尾处
    

    相关文章

      网友评论

          本文标题:如何快速理解 Python 的 yied

          本文链接:https://www.haomeiwen.com/subject/yxqmhctx.html