生成器是可以暂停的函数 生成器是有状态的

2019-06-04  本文已影响0人  ___大鱼___

生成器是可以暂停的函数 生成器是有状态的

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 生成器关闭
上一篇 下一篇

猜你喜欢

热点阅读