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