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