Dengan python, bagaimana cara memeriksa apakah suatu objek adalah objek generator?
Mencoba ini -
>>> type(myobject, generator)
memberikan kesalahan -
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'generator' is not defined
(Saya tahu saya dapat memeriksa apakah objek memiliki next
metode untuk menjadi generator, tetapi saya ingin beberapa cara menggunakan yang saya dapat menentukan jenis objek apa pun, bukan hanya generator.)
from types import GeneratorType;type(myobject, GeneratorType)
akan memberi Anda hasil yang tepat untuk objek 'generator' kelas. Tetapi seperti yang ditunjukkan oleh Daenyth, itu belum tentu cara yang tepat untuk pergi.
__next__
, Anda sebenarnya menerima iterator apa pun, bukan hanya generator - yang sangat mungkin apa yang Anda inginkan.