1. ホーム
  2. python

[解決済み] Pythonでオブジェクトがジェネレータオブジェクトであるかどうかを確認する方法は?

2022-04-22 17:44:52

質問

Pythonで、あるオブジェクトがジェネレータオブジェクトであるかどうかを確認するには?

これを試してみると

>>> type(myobject, generator)

エラーが発生しました。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'generator' is not defined

(オブジェクトに next しかし、ジェネレータだけでなく、あらゆるオブジェクトの型を決定する方法が欲しいのです)。

解決方法は?

タイプからGeneratorTypeを使用することができます。

>>> import types
>>> types.GeneratorType
<class 'generator'>
>>> gen = (i for i in range(10))
>>> isinstance(gen, types.GeneratorType)
True