Iterators وIterables
استكشفوا بروتوكول Iterator لإنشاء سلوك تكرار مخصص
Iterators وIterables درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 5 من أصل 5. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 5 دروس في المجموع.
مقدمة إلى المكررات والكائنات القابلة للتكرار
المكررات والكائنات القابلة للتكرار مفهومان أساسيان في Python، ويتيحان لكم التعامل مع تسلسلات البيانات. وهما أساس الحلقات والاستيعابات والمولدات.
في هذا الدرس، ستتعلمون كيفية عمل المكررات والكائنات القابلة للتكرار وكيفية إنشاء مكرراتكم الخاصة.

ما الكائن القابل للتكرار؟
الكائن القابل للتكرار هو أي كائن في Python يمكن التكرار عليه باستخدام حلقة for. ومن أمثلته القوائم والصفوف والمجموعات والقواميس.
# Example of an iterable
my_list = [1, 2, 3]
for item in my_list:
print(item) # Outputs: 1, 2, 3ما المكرّر؟
المكرّر هو كائن يمثّل تدفقًا من البيانات. وهو ينفّذ الأسلوبين __iter__() و__next__().
# Example of an iterator
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator)) # Outputs: 1
print(next(iterator)) # Outputs: 2
print(next(iterator)) # Outputs: 3الفرق بين الكائنات القابلة للتكرار والمكررات
يمكن تكرار المرور على الكائنات القابلة للتكرار، مثل القوائم، بينما تنتج المكررات عنصرًا واحدًا في كل مرة باستخدام الطريقة next(). يصبح الكائن القابل للتكرار مكررًا عند تمريره إلى الدالة iter().
إنشاء مكرّرات مخصّصة
يمكنك إنشاء مكرّرات مخصّصة بتعريف فئة تحتوي على الأسلوبين __iter__() و__next__():
# Custom iterator example
class Counter:
def __init__(self, start, end):
self.current = start
self.end = end
def __iter__(self):
return self
def __next__(self):
if self.current > self.end:
raise StopIteration
self.current += 1
return self.current - 1
counter = Counter(1, 5)
for number in counter:
print(number) # Outputs: 1, 2, 3, 4, 5استخدام الدالة iter()
تعيد الدالة iter() كائن مكرر من كائن قابل للتكرار:
# Using iter() on a list
my_list = [1, 2, 3]
iterator = iter(my_list)
print(next(iterator)) # Outputs: 1معالجة StopIteration
عند استنفاد المكرّر، يرفع استثناء StopIteration. وهذه هي الطريقة التي تشير بها Python إلى نهاية المتتالية.
# Handling StopIteration
my_list = [1, 2, 3]
iterator = iter(my_list)
while True:
try:
print(next(iterator))
except StopIteration:
breakالمكرّرات مقارنةً بالمولّدات
المولّدات طريقة أبسط لإنشاء المكرّرات. فهي تنفّذ الأسلوبين __iter__() و__next__() تلقائيًا.
# Example of a generator as an iterator
def my_generator():
yield 1
yield 2
yield 3
for value in my_generator():
print(value) # Outputs: 1, 2, 3الأخطاء الشائعة عند استخدام المكررات
إليك بعض الأخطاء التي يجب تجنبها:
- نسيان تنفيذ
__iter__()و__next__()في المكررات المخصصة. - عدم معالجة استثناءات
StopIterationعلى نحو صحيح. - الخلط بين المكررات والكائنات القابلة للتكرار.
ما الذي تعلمناه؟
في هذا الدرس، تعلمتم ما يلي:
- الفرق بين الكائنات القابلة للتكرار والمكررات.
- كيفية استخدام
__iter__()و__next__()لإنشاء مكررات مخصصة. - كيفية استخدام الدالة
iter()ومعالجة استثناءاتStopIteration. - كيف تُبسّط المولدات إنشاء المكررات.
أحسنتم! لننتقل إلى الموضوع التالي.

تعلم Python مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 53
- الدروس
- 225
الأسئلة الشائعة
هل درس «Iterators وIterables» مجاني؟
نعم — نص درس «Iterators وIterables» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 5 دروس في المجموع.
ماذا ستتعلم في «Iterators وIterables»؟
استكشفوا بروتوكول Iterator لإنشاء سلوك تكرار مخصص تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟
لا تُشترط خبرة سابقة. Learn AI with Python على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 5 من أصل 5.
كم من الوقت يستغرق درس «Iterators وIterables»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟
نعم. كل درس في Learn AI with Python يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- Decorators
- Generators
- Context Managers (عبارات with)
- Comprehensions (القوائم والمجموعات والقواميس)
- Iterators وIterables