Pythonのジェネレーターとは何ですか?
質問者:Eguzki Tugnoli |最終更新日:2020年3月31日
カテゴリ:テクノロジーおよびコンピューティングプログラミング言語
Pythonジェネレーター(教科書の定義)とはPythonジェネレーターは、yieldを呼び出すことによってジェネレーターイテレーター(反復できるオブジェクト)を返す関数です。歩留まりは値で呼び出される場合があり、その場合、その値は「生成された」値として扱われます。
その上、Pythonでのジェネレーターの使用は何ですか?ジェネレーターは、PEP 255で導入されて以来、 Pythonの重要な部分です。ジェネレーター関数を使用すると、イテレーターのように動作する関数を宣言できます。これにより、プログラマーは、高速、簡単、かつクリーンな方法でイテレーターを作成できます。
また、プログラミングのジェネレーターとは何ですか?コンピュータサイエンスでは、ジェネレータはループの反復動作を制御するために使用できる特別なルーチンです。実際、すべてのジェネレーターはイテレーターです。ジェネレーターは、配列を返す関数と非常によく似ています。ジェネレーターにはパラメーターがあり、呼び出すことができ、一連の値を生成します。
また、Pythonでジェネレーターをどのように定義しますか?
Pythonでジェネレータを作成するのはかなり簡単です。 returnステートメントの代わりにyieldステートメントを使用して通常の関数を定義するのと同じくらい簡単です。関数に少なくとも1つのyieldステートメントが含まれている場合(他のyieldステートメントまたはreturnステートメントが含まれている場合があります)、その関数はジェネレーター関数になります。
Pythonの範囲はジェネレーターですか?
rangeは、不変の反復可能なオブジェクトのクラスです。それらの反復動作はリストと比較できます。次にそれらを直接呼び出すことはできません。 iterを使用してイテレータを取得する必要があります。したがって、範囲はジェネレータではありません。それらは不変であるため、辞書のキーとして使用できます。
34関連する質問の回答が見つかりました
ジェネレーターの用途は何ですか?
発電機は、機械的エネルギーを電気的エネルギーに変換するために使用されます。発電機は、任意の周波数、電圧、およびアンペア数のシンプルでコンパクト、効率的な交流電流源として役立ちます。さらに、発電機は負荷の変動に対応するために出力を自動的に調整できます。
どうすればジェネレーターを作ることができますか?
発電機の作り方
- 電気に変換したいエネルギー源を決定します。
- ある長さのワイヤーを巻いてかなり大きなループを形成し、ワイヤーの両端にアクセスできることを確認します。
- ワイヤーループをエネルギー源(自転車の車軸など)に接続します。
- ループがそれらの間で自由に回転できるように、ループの周りに強力な磁石を配置します。
ジェネレータオブジェクトとは何ですか?
PEP 255で導入されたジェネレーター関数は、レイジーイテレーターを返す特殊な種類の関数です。これらは、リストのようにループできるオブジェクトです。ただし、リストとは異なり、レイジーイテレータはその内容をメモリに保存しません。
Pythonデコレータとは何ですか?
Pythonのデコレータ。デコレータはPythonのデザインパターンであり、ユーザーは構造を変更せずに既存のオブジェクトに新しい機能を追加できます。デコレータは通常、デコレートする関数を定義する前に呼び出されます。
PythonのLambdaとは何ですか?
Pythonでは、ラムダ関数は名前なしで宣言された1行の関数であり、任意の数の引数を持つことができますが、式は1つしか持つことができません。このような関数は、 Pythonのdefキーワードを使用して宣言された通常の関数と同様に動作することができます。
Pythonのイテレータとジェネレータの違いは何ですか?
Pythonのイテレータとジェネレータの違いを見てみましょう。イテレータはローカル変数を使用しません。必要なのは反復可能です。ジェネレーターには、任意の数の「yield」ステートメントを含めることができます。 Pythonクラスを使用して独自のイテレータを実装できます。ジェネレーターはpythonのクラスを必要としません。
PythonのDocstringとは何ですか?
Pythonドキュメント文字列(またはdocstrings )は、ドキュメントをPythonモジュール、関数、クラス、およびメソッドに関連付ける便利な方法を提供します。 docstringは単なる複数行の文字列であり、何にも割り当てられていません。これは、コードの特定のセグメントを文書化するために使用されるソースコードで指定されます。
イテレータクラスとは何ですか?
ウィキペディアから、無料の百科事典。コンピュータープログラミングでは、イテレーターは、プログラマーがコンテナー、特にリストをトラバースできるようにするオブジェクトです。多くの場合、さまざまなタイプのイテレータがコンテナのインターフェイスを介して提供されます。
関数を定義するために使用されるキーワードはどれですか?
関数の定義
必要な機能を提供する関数を定義できます。 Pythonで関数を定義するための簡単なルールは次のとおりです。関数ブロックは、キーワードdefで始まり、その後に関数名と括弧(())が続きます。入力パラメーターまたは引数は、これらの括弧内に配置する必要があります。 Pythonで反復可能なものは何ですか?
Iterableはオブジェクトであり、反復することができます。 iter()メソッドに渡されると、イテレータが生成されます。 Iteratorはオブジェクトであり、__ next __()メソッドを使用して反復可能なオブジェクトを反復処理するために使用されます。イテレータには__next __()メソッドがあり、オブジェクトの次のアイテムを返します。
Pythonの属性とは何ですか?
インスタンス属性は、1つだけのオブジェクトに属するPython変数です。クラス属性は、特定のオブジェクトではなくクラスに属するPython変数です。これは、このクラスのすべてのオブジェクト間で共有され、クラスのコンストラクター関数__init __(self、)の外部で定義されます。
Pythonの自己とは何ですか?
selfは、クラスのインスタンスを表すために使用されます。このキーワードを使用すると、 Pythonでクラスの属性とメソッドにアクセスできます。指定された引数で属性をバインドします。 Pythonには、インスタンスを自動的に渡すが、自動的には受け取らないようにするメソッドがあります。
Xrangeとrangeの違いは何ですか?
Pythonでのxrangeとrangeの違い
唯一の違いは、その範囲は、Pythonリストオブジェクトを返すとはxrangeはxrangeのオブジェクトを返すあります。これは、 xrangeがrangeのように実行時に静的リストを実際に生成しないことを意味します。必要に応じて、 yieldingと呼ばれる特別な手法で値を作成します。 Pythonのreturnとyieldの違いは何ですか?
returnは指定された値を呼び出し元に送り返しますが、 yieldは一連の値を生成できます。シーケンスを反復処理したいが、シーケンス全体をメモリに保存したくない場合は、 yieldを使用する必要があります。イールドはPythonジェネレーターで使用されます。
Pythonの歩留まりとは何ですか?
収量。 Yieldは、関数がジェネレーターを返すことを除いて、returnのように使用されるキーワードです。 forが関数から作成されたジェネレーターオブジェクトを初めて呼び出すと、関数内のコードが最初からyieldに達するまで実行され、ループの最初の値が返されます。
ジェネレーターはイテレーターですか?
ジェネレーターはイテレーターの作成を簡素化します。ジェネレーターは、単一の値ではなく、一連の結果を生成する関数です。 yieldステートメントが実行されるたびに、関数は新しい値を生成します。したがって、ジェネレーターはイテレーターでもあります。