Jawaban:
Dalam Python <= 2.5, gunakan gen.next(). Ini akan bekerja untuk semua versi Python 2.x, tetapi tidak untuk Python 3.x
Dalam Python> = 2.6, gunakan next(gen). Ini adalah fungsi bawaan, dan lebih jelas. Ini juga akan bekerja dengan Python 3.
Keduanya akhirnya memanggil fungsi bernama khusus next(), yang dapat diganti dengan subclassing. Dalam Python 3, bagaimanapun, fungsi ini telah diubah namanya menjadi __next__(), agar konsisten dengan fungsi khusus lainnya.
Ini adalah cara yang benar untuk melakukannya.
Anda juga bisa menggunakan next(gen).
Untuk mendapatkan nilai yang terkait dengan objek generator di python 3 dan di atasnya, gunakan next(<your generator object>). panggilan berikutnya ke next () menghasilkan nilai objek yang berurutan dalam antrian.
Di python 3 Anda tidak punya gen.next(), tapi Anda masih bisa menggunakan next(gen). Agak aneh jika Anda bertanya kepada saya tetapi begitulah adanya.
W1 = params.next()tetapi mendapatkan kesalahanAttributeError: 'generator' object has no attribute 'next'