「Python」ジェネレータ (generator)のサンプル
説明
ジェネレータ (generator)
構文
def reverse(data):
for index in range(len(data)-1, -1, -1):
yield data[index]
ジェネレータでできることは、前の節で解説したクラスを使ったイテレータでも実現できます。ジェネレータの定義がコンパクトになるのは __iter__() メソッドと __next__() メソッドが自動で作成されるからです。
サンプルコード
# coding: utf-8
#関数の定義
def cft():
yield "001"
yield "002"
yield "003"
yield "004"
ss = cft()
#cft関数を実行
print(next(ss))
print(next(ss))
print(next(ss))
# coding: utf-8
#関数の定義
def cft():
yield "001"
yield "002"
yield "003"
yield "004"
ss = cft()
#cft関数を実行
print(next(ss))
print(next(ss))
print(next(ss))
# coding: utf-8 #関数の定義 def cft(): yield "001" yield "002" yield "003" yield "004" ss = cft() #cft関数を実行 print(next(ss)) print(next(ss)) print(next(ss))
結果
001
002
003
004