yield的理解 - Python

yield关键字除了有return的意思, 还有暂存的意思. 运行到yield时, 会返回当前的值, 然后保存现在的记录. 当再次运行该函数式, 继续上次yield结束的位置开始运行.

理解不深, 仅供参考

实例一


def foo(num):
    print("starting...")
    while num < 10:
        num = num + 1
        yield num


# debug看运行顺序 即可
for n in foo(0):
    print(n)

在这里插入图片描述

实例二


def gen(n):
    for i in range(n):
        yield i ** 2


for i in gen(5):
    print(i, " ", end="")

在这里插入图片描述

发布了190 篇原创文章 · 获赞 153 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_36852780/article/details/104506475