En python, comment vérifier si un objet est un objet générateur?
Essayer ça -
>>> type(myobject, generator)
donne l'erreur -
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'generator' is not defined
(Je sais que je peux vérifier si l'objet a une next
méthode pour qu'il soit un générateur, mais je veux un moyen qui me permette de déterminer le type de n'importe quel objet, pas seulement des générateurs.)
from types import GeneratorType;type(myobject, GeneratorType)
vous donnera le résultat approprié pour les objets de la classe «générateur». Mais comme Daenyth l'implique, ce n'est pas nécessairement la bonne voie à suivre.
__next__
, vous acceptez en fait n'importe quel itérateur, pas seulement les générateurs - ce qui est très probablement ce que vous voulez.