生成器是可以暂停的函数 生成器是有状态的
import inspect
def gen_func():
yield 1
return 1
if __name__ == '__main__':
gen = gen_func()
print(inspect.getgeneratorstate(gen)) # GEN_CREATED 生成器被创建
gen.send(None)
print(inspect.getgeneratorstate(gen)) # GEN_SUSPENDED 生成器暂停
try:
gen.send(None)
except StopIteration:
pass
print(inspect.getgeneratorstate(gen)) # GEN_CLOSED 生成器关闭
网友评论