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'