Yanıtlar:
Python <= 2.5'te kullanın gen.next()
. Bu, tüm Python 2.x sürümleri için çalışacak, ancak Python 3.x için geçerli olmayacaktır.
Python> = 2.6'da, şunu kullanın next(gen)
. Bu yerleşik bir işlevdir ve daha nettir. Ayrıca Python 3'te de çalışacaktır.
Bunların her ikisi de, next()
alt sınıflandırma ile geçersiz kılınabilen özel olarak adlandırılmış bir işlevi çağırır . Ancak Python 3'te bu işlev, __next__()
diğer özel işlevlerle tutarlı olması için olarak yeniden adlandırılmıştır .
Bunu yapmanın doğru yolu budur.
Ayrıca kullanabilirsiniz next(gen)
.
Python 3 ve üzerinde bir jeneratör nesnesiyle ilişkili değeri elde etmek için kullanın next(<your generator object>)
. next () için sonraki çağrılar, kuyrukta birbirini izleyen nesne değerleri üretir.
Python 3'te sahip değilsiniz gen.next()
, ancak yine de kullanabilirsiniz next(gen)
. Bana sorarsan biraz tuhaf ama öyle.
W1 = params.next()
ama bir hata alAttributeError: 'generator' object has no attribute 'next'