আমার একটি জেনারেটর রয়েছে যা একটি সিরিজ উত্পন্ন করে, উদাহরণস্বরূপ:
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 এর আচরণের এই পার্থক্যের ব্যাখ্যা করে এমন কিছু আমি এখনও সন্ধান করতে পারিনি।