私はPythonのジェネレータ、イテレータ、iterablesを学習しています。なぜ次のものが動作しないのか説明できません。私は、エクササイズとして関数zipの簡単なバージョンを作成したいと考えています。ここに私がやったことだ: def myzip(*collections):
iterables = tuple(iter(collection) for collection in c
シンプルなジェネレータ関数: def myfunc(text):
for i in text[::-1]:
yield(i)
for i in myfunc("anytext"):
print(i)
はジェネレータ関数の内部text[::-1]が最初に評価されるだろうか、それが(ジェネレータ機能から期待される)遅延評価されるのですか?
次のPython 2.xコードスニペットを検討してください。私は、具体的__exit__呼び出しに関する興味 Line 1 from file
Before del
__exit__ called
After del
:このスクリプトの from __future__ import print_function
class myfile(file):
def __exit