回答:
Python <= 2.5では、を使用しますgen.next()
。これはすべてのPython 2.xバージョンで機能しますが、Python 3.xでは機能しません
Python> = 2.6では、を使用しますnext(gen)
。これは組み込み関数であり、より明確です。Python 3でも動作します。
これらはいずれも、特別な名前の関数を呼び出しますがnext()
、これはサブクラス化によってオーバーライドできます。ただし、Python 3では、この関数の名前がに変更され__next__()
、他の特別な関数との一貫性が保たれています。
W1 = params.next()
エラーが発生するAttributeError: 'generator' object has no attribute 'next'