python yield(生成器)的简单使用

生成器有什么用?
简单来说,他能有效的帮我们提高程序运算速度和节约内存空间。
生成器是怎么工作的?
每一次调用生成器,生成器都会从上一次出现yeild的地方继续运行代码。如果是第一次运行生成器,那么生成器就会从函数的一开始开始运行(从接收参数的地方开始)。

def gen(num):
    for i in range(num):
        yield i ** 2#每次调用这个生成器执行到这个地方停止了,等待下次再调用继续从这个地方运行。


def main():
    scq = gen(5) #返回生成器对象
    for i in scq: #也可以这样写 for i in gen(5),这样写后上面那条语句就可以不要了
        print(i)

main()

返回结果

0
1
4
9
16
发布了101 篇原创文章 · 获赞 13 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/a735311619/article/details/78075022