python反復器の概要

1179 ワード

1、yield、関数をgenerator(ジェネレータ)にする
例:フィボナッチ数列

def fib(num):
  a, b, c = 1, 0, 1    
  while a <= num:
    yield c
    b, c = c, b + c
    a += 1
for n in fib(10):
  print(n, end=' ')
# 1 1 2 3 5 8 13 21 34 55

2、Iterable
forループを使用できるすべてのオブジェクト、総称してIterable(反復可能)

from collections import Iterable, Iterator
print(isinstance(fib(10), Iterable))
print(isinstance(range(10), Iterable))
# True
# True

3、Iterator
next()<_を使用できますnext__> 関数が呼び出され、次の値が返されるオブジェクトは、不活性計算のシーケンスを表すIterator(反復器)となります.
List,dict,strはIterableでIteratorではありません:

from collections import Iterator
print(isinstance(list(), Iterator))
# False

ただし、iter()関数でIteratorに変更できます.

print(isinstance(iter(list()), Iterator))
# True

まとめ
以上、python反復器のすべてについて説明しましたが、皆さんの役に立つことを願っています.兴味のある友达は引き続き当駅を参照することができます:pythonの面白いプロジェクト――ポルノ画像の识别コードの共有、Pythonは1つの简単な検证コードのプログラムを実现して、Pythonアルゴリズムは1-9配列の形成の结果を出力して100のすべての演算式などで、どんな问题があったらいつでも伝言を残すことができて、小编はすぐにみんなに返事します.友达の本駅に対する支持に感谢します!