私はリストからジェネレータを作っていますが、リストの次の項目を返すだけで、すなわち、コード全体が、yield部分を返す代わりに再び実行されます。以下の例では、私はにリストを回していた理由があります。2."yield from"と "next"の動作についての質問
class demo:
@property
def mygen(self):
a = [1,2,3,4,5]
b = [6,7,8,9,10]
yield from a
yield from b
if __name__=='__main__':
demo1 = demo()
print([_ for _ in demo1.mygen])
demo2 = demo()
print(next(demo2.mygen))
print(next(demo2.mygen))
返すために、次の2回目の呼び出しを希望に対し、次のリターン1回のリストをループしたときに予想される動作を示しているが、その後、ジェネレータはapi呼び出しからの応答であり、リストの次の項目を動的に返し、そのリストの最後になるとapi呼び出しを行います。
だからこそ、これはプロパティではないはずです。なぜなら、関数であれば、それが何をするかを考えるようになるからです。 – warvariuc
@warvariuc絶対に、これを指摘するために私の答えを編集しました。 – schwobaseggl