0Pricing
Python For Kids · درس

Iterators وIterables

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

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

مقدمة إلى Iterators وIterables

تُعد Iterators وIterables مفاهيم أساسية في Python تتيح لك العمل مع تسلسلات البيانات. وهي أساس الحلقات والاستيعاب والمولّدات.

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

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

ما هو Iterable؟

الـ Iterable هو أي كائن في Python يمكن تكراره باستخدام حلقة for. ومن أمثلته القوائم والصفوف والمجموعات والقواميس.

# Example of an iterable
my_list = [1, 2, 3]
for item in my_list:
    print(item)  # Outputs: 1, 2, 3

ما هو Iterator؟

الـ Iterator هو كائن يمثّل تدفقًا من البيانات. وهو يطبّق الدالتين __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().

إنشاء Iterators مخصصة

يمكنك إنشاء Iterators مخصصة من خلال تعريف class يحتوي على الدالتين __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

عند استنفاد Iterator، فإنه يرفع استثناء StopIteration. وهذه هي الطريقة التي تشير بها Python إلى نهاية المتتالية.

# Handling StopIteration
my_list = [1, 2, 3]
iterator = iter(my_list)

while True:
    try:
        print(next(iterator))
    except StopIteration:
        break

Iterators مقابل المولّدات

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

الأسئلة الشائعة

هل درس «Iterators وIterables» مجاني؟

نعم — نص درس «Iterators وIterables» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python For Kids، انتقل إلى CoddyKit PRO. تتضمن دورة Python For Kids 5 دروس في المجموع.

ماذا ستتعلم في «Iterators وIterables»؟

استكشفوا بروتوكول Iterator لإنشاء سلوك تكرار مخصص تتمرن على Python For Kids مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Python For Kids؟

لا تُشترط خبرة سابقة. Python For Kids على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 5 من أصل 5.

كم من الوقت يستغرق درس «Iterators وIterables»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Python For Kids هذا؟

نعم. كل درس في Python For Kids يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

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

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