Python
 Computer >> コンピューター >  >> プログラミング >> Python

ジェネレーターを使用してPythonでイテレーターを作成できますか?


はい 、Pythonでイテレータを使用してジェネレータを作成できますイテレータの作成は簡単です。キーワードyieldステートメントを使用してジェネレータを作成できます。

Pythonジェネレーターは、イテレーターを作成するための簡単でシンプルな方法です。主にイテレータのように動作する関数を宣言するために使用されます。

ジェネレーターは、おそらく日常生活の中で一度に1つの値を反復処理できる関数であり、すべてのプログラマーはリスト、文字列、Dictなどの反復可能なオブジェクトを使用します。

イテレータは、ループを介して反復できるオブジェクトです。

次の例は、ジェネレーターがPythonでYieldステートメントを導入し、値を返すように機能することを示しています。

def generator():
   print("program working sucessfully")
   yield 'x'
   yield 'y'
   yield 'z'
generator()

出力

<generator object generator at 0x000000CF81D07390>

forループを使用することで、ジェネレーターを作成することもできます

for i in generator():
print(i)

出力

program working sucessfully
x
y
z


イテレータオブジェクトは2つのメソッドをサポートします1.__ iter__method および2.__ next__method

__iter__メソッドは、イテレータオブジェクト自体を返します。主にforループとinステートメントで使用されます。

__next__メソッドは、イテレータから次の値を返します。これ以上アイテムが返されない場合は、StopIteration例外が発生します。

class function(object):
   def __init__(self, lowtemp, hightemp):
      self.current = lowtemp
      self.high = hightemp
   def __iter__(self):
      'Returns itself as an iterator object'
      return self
   def __next__(self):
      'Returns the next value till current is lower than high'
      if self.current > self.high:
         raise StopIteration
      else:
         self.current += 1
         return self.current - 1
c = function(3,20)
for i in c:
print(i, end=' ')

出力

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

  1. matplotlibを使用してPythonを使用してヒストグラムを作成するにはどうすればよいですか?

    Matplotlibは、データの視覚化に使用される人気のあるPythonパッケージです。 データを視覚化することは、実際に数値を調べたり複雑な計算を実行したりすることなく、データで何が起こっているのかを理解するのに役立つため、重要なステップです。 定量的な洞察を聴衆に効果的に伝えるのに役立ちます。 Matplotlibは、データを使用して2次元プロットを作成するために使用されます。 Pythonアプリケーションにプロットを埋め込むのに役立つオブジェクト指向APIが付属しています。 Matplotlibは、IPythonシェル、Jupyterノートブック、SpyderIDEなどで使用できま

  2. matplotlibを使用してPythonで正弦関数を作成するにはどうすればよいですか?

    Matplotlibは、データの視覚化に使用される人気のあるPythonパッケージです。データの視覚化は、実際に数値を調べたり複雑な計算を実行したりすることなく、データで何が起こっているのかを理解するのに役立つため、重要なステップです。定量的な洞察を聴衆に効果的に伝えるのに役立ちます。 Matplotlibは、データを使用して2次元プロットを作成するために使用されます。 Pythonアプリケーションにプロットを埋め込むのに役立つオブジェクト指向APIが付属しています。 Matplotlibは、IPythonシェル、Jupyterノートブック、SpyderIDEなどで使用できます。 Pyth