Як в 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__
, ви фактично приймаєте будь-який ітератор, а не лише генератори - що дуже ймовірно, що ви хочете.