【发布时间】:2020-02-21 17:17:14
【问题描述】:
为什么 inspect.isgenerator() 对此类生成器定义返回 false(在 python 3.7 中工作)?
我知道 isgenerator 正在检查对象类型的天气
"generator"
我的班级属于
类型"__main__.generator"
我不知道为什么。如何使其成为“生成器”类型? (我需要这个,因为其他第三个图书馆正在检查这个)。
class generator(object):
def __init__(self):
pass
def __getitem__(self, index):
return [0,0]
def __iter__(self):
return self
def __next__(self):
return [0,0]
def next(self):
return self.__next__()
a = generator()
import inspect
print(inspect.isgenerator(a))
print(type(a))
感谢您的帮助!
【问题讨论】:
-
@MadPhysicist:不重复,因为实现生成器 API 的其余部分不会使类通过
inspect.isgenerator。
标签: python python-3.x generator