الدرس التاسع عشر -المكرر- Iterator

 Python Iterators المكرر :

المكرر هو كائن يحتوي علي عدد لا يحصى من القيم وتستخدم هذه الدوال __iter__()  و __next__()

يستخدم المكرر مع القوائم والقواميس والـ Sets  و الـ Tuple   ويستخدم مثل الـ for

مثال توضيحي استخدام المكرر مع الـ Tuple

 

mytuple = ("apple", "banana", "cherry")
myit = iter(mytuple)

print(next(myit))
print(next(myit))
print(next(myit))

#return

Apple

Banana

cherry

myit = iter(mytuple)  تعريف متغير من نوع مكرر

next  تشير الي العنصر التالي

أيضا يمكن استخدام الـ   iterator مع النصوص

 

mystr = "banana"
myit = iter(mystr)

print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))

 #Return

b

a

n

a

n

a

 


Create an Iterator  انشاء المكرر

 

لانشاء كلاس او كائن كمكرر يجب تضمين  الدوال        __iter__()  و __next__()  وتصبح شبيهة بدالة _init_()

 

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))

#Return

1

2

3

4

5

هذا المكرر يقوم بعمل تكرار للأرقام بداية من واحد بزيادة واحد في كل مرة