Learn AI with Python · درس

Iterators وIterables

استكشفوا بروتوكول Iterator لإنشاء سلوك تكرار مخصص

الدرس 5 من 511 خطوة

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

مقدمة إلى المكررات والكائنات القابلة للتكرار

المكررات والكائنات القابلة للتكرار مفهومان أساسيان في Python، ويتيحان لكم التعامل مع تسلسلات البيانات. وهما أساس الحلقات والاستيعابات والمولدات.

في هذا الدرس، ستتعلمون كيفية عمل المكررات والكائنات القابلة للتكرار وكيفية إنشاء مكرراتكم الخاصة.

Iterators وIterables — رسم توضيحي 1

ما الكائن القابل للتكرار؟

الكائن القابل للتكرار هو أي كائن في 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.
  • كيف تُبسّط المولدات إنشاء المكررات.

أحسنتم! لننتقل إلى الموضوع التالي.

Iterators وIterables — رسم توضيحي 11
البدء مجانًا

تعلم 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 يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. Decorators
  2. Generators
  3. Context Managers ‏(عبارات with)
  4. Comprehensions ‏(القوائم والمجموعات والقواميس)
  5. Iterators وIterables
← العودة إلى Learn AI with Python