En python, ¿cómo verifico si un objeto es un objeto generador?
Intentando esto
>>> type(myobject, generator)
da el error
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'generator' is not defined
(Sé que puedo verificar si el objeto tiene un next
método para que sea un generador, pero quiero usar algún método para determinar el tipo de cualquier objeto, no solo los generadores).
from types import GeneratorType;type(myobject, GeneratorType)
le dará el resultado adecuado para los objetos de la clase 'generador'. Pero como Daenyth implica, ese no es necesariamente el camino correcto.
__next__
, en realidad está aceptando cualquier iterador, no solo generadores, que es muy probable que sea lo que desea.