python3中函数里的return和yield共存时的细节

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lu8000/article/details/82745191

在python3中,生成器的创建方式有两种:利用列表生成式和函数中添加yield。

在这需要注意的是,当采集函数创建生成器时,如果函数中含有return,则不会通过return得到任凭结果,return中止当前生成器,如果执行next()会报错。

def f1():
    for i in range(10):
        print(i)
        i +=1
        yield i
        return i


f = f1()
next(f)
next(f)
next(f)
next(f)

函数有了yield后,函数名加()得到一个生成器。

猜你喜欢

转载自blog.csdn.net/lu8000/article/details/82745191