یک Iterator ایجاد کنید(Create an Iterator)

برای ایجاد یک شیء/کلاس به عنوان تکرار کننده، باید متدها را پیاده سازی کنید.
__iter__() و
__next__()
به شی شما.


همانطور که در Python یاد گرفتید
فصل Classes/Objects
، همه کلاس ها تابعی دارند که نامیده می شود
__init__()، که به شما امکان می دهد برخی از کارها را انجام دهید
مقداردهی اولیه در هنگام ایجاد شیء.


روش __iter__() مشابه عمل می کند، می توانید
انجام عملیات (آغاز کردن و غیره)، اما همیشه باید شی تکرار کننده را برگرداند
خودش.


روش __next__() همچنین به شما امکان می دهد
عملیات، و باید مورد بعدی را در دنباله برگرداند.




مثال


Create an iterator that returns numbers, starting with 1, and each sequence
will increase by one (returning 1,2,3,4,5 etc.):



class MyNumbers:
  def __iter__(self):
    self.a =
1
    return self

  def __next__(self):
   
x = self.a
    self.a += 1
    return x


myclass = MyNumbers()
myiter = iter(myclass)

print(next(myiter))

print(next(myiter))
print(next(myiter))
print(next(myiter))

print(next(myiter))