मेरे पास एक जनरेटर है जो एक श्रृंखला बनाता है, उदाहरण के लिए:
def triangle_nums():
'''Generates a series of triangle numbers'''
tn = 0
counter = 1
while True:
tn += counter
yield tn
counter += + 1
पायथन 2 में मैं निम्नलिखित कॉल करने में सक्षम हूं:
g = triangle_nums() # get the generator
g.next() # get the next value
हालाँकि पायथन 3 में यदि मैं कोड की समान दो पंक्तियों को निष्पादित करता हूँ तो मुझे निम्नलिखित त्रुटि मिलती है:
AttributeError: 'generator' object has no attribute 'next'
लेकिन, लूप इटरेटर सिंटैक्स पायथन 3 में काम करता है
for n in triangle_nums():
if not exit_cond:
do_something()...
मुझे अभी तक कुछ भी नहीं मिल पाया है जो पायथन 3 के लिए व्यवहार में यह अंतर बताता है।