Obj。 del()メソッド が呼び出されます。breakステートメントが発生したときのジェネレータの破棄
def my_integers():
Obj = ExitObj()
i = 0
while(1):
yield i
i += 1
def test_fun():
for i in my_integers():
if i > 3:
break
anything_function()
test_fun()
私がテストを行なったし、OBJがちょうどbreak文の後に削除されるように見えた:anything_function前に()ループアウト。
これに依存して、ジェネレータ内部で定義されたオブジェクトの__ del__メソッドにループが残っているときにやりたいタスクをいくつか与えることができますか?