gpt4 book ai didi

python - 如何确定函数返回值是否为生成器?

转载 作者:行者123 更新时间:2023-11-28 19:33:32 24 4
gpt4 key购买 nike

yield 返回一个 collections.Iterable 但许多类型也是可迭代的

def aaaa():
yield 1
yield 2
yield 3

d = aaaa()

print(d,type(d),isinstance(d, collections.Iterable))

打印类型

<generator object aaaa at 0x0000000002626B88> <class 'generator'> True

我没有找到“生成器”类,或者我无法进行类型检查。

最佳答案

如果你想检查 iterable 是否是一个生成器对象:

import types
isinstance(aaaa(), types.GeneratorType) # ==> True

如果你想检查函数是否包含yield语句(即函数是一个生成器):

import inspect
inspect.isgeneratorfunction(aaaa) # ==> True

关于python - 如何确定函数返回值是否为生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12471610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com