В Python, как проверить, является ли объект объектом-генератором?
Пробую это -
>>> type(myobject, generator)
выдает ошибку -
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'generator' is not defined
(Я знаю, что могу проверить, есть ли у объекта next
метод для того, чтобы он был генератором, но мне нужен какой-то способ, с помощью которого я могу определить тип любого объекта, а не только генераторов.)
from types import GeneratorType;type(myobject, GeneratorType)
даст вам правильный результат для объектов класса «генератор». Но, как предполагает Дейнит, это не обязательно правильный путь.
__next__
, вы фактически принимаете любой итератор, а не только генераторы - что весьма вероятно, что вы хотите.