在 Python 中,是否可以在 yield 语句之后调用方法



我有一个 for 循环,它包含一个 yield 语句,然后是一个打印语句。不会调用打印语句。

我想包含一个函数调用来删除变量(一旦我使用它,在 yield 语句之后(,所以我想知道是否可以在 yield 后进行函数调用。

当您获得下一个值时,生成器的执行将恢复:

def gen():
    while True:
        yield 1
        print("After yield")
g = gen()
a = next(g)  # prints nothing
b = next(g)  # prints "After yield"
c = next(g)  # prints "After yield"

"删除变量"是什么意思? 您最多可以做的是减少该对象的引用计数,如果您将生成器中的引用重新分配给其他内容,或者当生成器对象被垃圾回收时,无论如何都会发生这种情况。

最新更新