In Python, come posso verificare se un oggetto è un oggetto generatore?
Provando questo -
>>> type(myobject, generator)
dà l'errore -
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'generator' is not defined
(So che posso verificare se l'oggetto ha un next
metodo per essere un generatore, ma voglio in qualche modo usare il quale posso determinare il tipo di qualsiasi oggetto, non solo i generatori.)
from types import GeneratorType;type(myobject, GeneratorType)
ti darà il risultato corretto per gli oggetti della classe "generatore". Ma come suggerisce Daenyth, questa non è necessariamente la strada giusta da percorrere.
__next__
, stai effettivamente accettando qualsiasi iteratore, non solo generatori, il che è molto probabilmente quello che vuoi.