收益率返回一个集合。Iterable但是许多类型也是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