ジェネレーター関数で作ったものは、何型になる?

ジェネレーター関数で作成されるものは、ジェネレーターオブジェクトです。ジェネレーターオブジェクトは、yield 文を含む関数から作成され、その関数を呼び出すと生成されます。

ジェネレーターオブジェクトは、イテレータプロトコルに準拠しており、next() 関数を使用して値を逐次的に生成することができます。また、ジェネレーター関数の内部状態を保持し、関数の実行を一時停止して、次の呼び出し時に再開します。

ジェネレーターオブジェクトは、ジェネレーター型 (generator type) に属します。Pythonでは、組み込み関数 type() を使用してオブジェクトの型を調べることができます。ジェネレーターオブジェクトの型は generator です。

例えば、以下のようにジェネレーター関数を定義し、その関数を呼び出してジェネレーターオブジェクトを作成することができます:

python
def my_generator(): yield 1 yield 2 yield 3 gen = my_generator() print(type(gen)) # 出力: <class 'generator'>

この例では、my_generator() というジェネレーター関数を定義し、その関数を呼び出してジェネレーターオブジェクト gen を作成しています。そして、type() 関数を使用して gen の型を調べています。その結果、gen の型は generator であることがわかります。

未分類

Posted by ぼっち