0Pricing
Python For Kids · درس

Context Managers ‏(عبارات with)

اكتشفوا قوة Context Managers في إدارة الموارد

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

مقدمة إلى مديري السياق

يساعدك مديرو السياق في Python على إدارة الموارد مثل الملفات واتصالات الشبكة واتصالات قواعد البيانات. ويضمنون الحصول على الموارد وتحريرها بشكل صحيح، حتى عند حدوث خطأ.

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

Context Managers ‏(عبارات with) — رسم توضيحي 1

ما هو Context Manager؟

الـ Context Manager هو بنية تتيح لك تخصيص الموارد وتحريرها بكفاءة. ويستخدم عبارة with لتغليف التعليمات البرمجية المسؤولة عن إدارة الموارد.

# Using a context manager with a file
with open("example.txt", "r") as file:
    content = file.read()
    print(content)  # File is automatically closed after the block

لماذا نستخدم Context Managers؟

تساعدك Context Managers على:

  • ضمان تنظيف الموارد بشكل صحيح.
  • تقليل احتمالية تسرب الموارد.
  • كتابة تعليمات برمجية أكثر نظافة وأسهل قراءة.

Context Managers المضمنة

تتضمن Python عدة Context Managers مضمنة، مثل:

  • open: يدير عمليات الملفات.
  • decimal.localcontext: يدير إعدادات الدقة للعمليات العشرية.

إنشاء مدير سياق مخصص

يمكنك إنشاء مدير سياق مخصص باستخدام صنف يتضمن الدالتين __enter__ و__exit__:

# Custom context manager class
class CustomManager:
    def __enter__(self):
        print("Entering the context")
        return self

    def __exit__(self, exc_type, exc_value, traceback):
        print("Exiting the context")

with CustomManager() as manager:
    print("Inside the context")

التعامل مع الاستثناءات في مديري السياق

يمكن لمديري السياق المخصصين التعامل مع الاستثناءات باستخدام الدالة __exit__:

# Handling exceptions in a context manager
class ExceptionManager:
    def __enter__(self):
        print("Entering the context")
        return self

    def __exit__(self, exc_type, exc_value, traceback):
        if exc_type:
            print(f"An exception occurred: {exc_value}")
        print("Exiting the context")
        return True  # Suppresses the exception

with ExceptionManager():
    raise ValueError("Something went wrong")

استخدام contextlib

توفر الوحدة contextlib أدوات مساعدة لتبسيط إنشاء Context Managers:

# Using contextlib to create a context manager
from contextlib import contextmanager

@contextmanager
def custom_context():
    print("Entering the context")
    yield
    print("Exiting the context")

with custom_context():
    print("Inside the context")

أفضل الممارسات لاستخدام Context Managers

إليك بعض أفضل الممارسات:

  • استخدم Context Managers المضمنة كلما أمكن.
  • تعامل مع الاستثناءات بطريقة صحيحة في Context Managers المخصصة.
  • استخدم الوحدة contextlib للحصول على صياغة أبسط.

الأخطاء الشائعة في استخدام مديري السياق

إليك بعض الأخطاء التي ينبغي تجنبها:

  • عدم استخدام with لإدارة الموارد.
  • عدم تنفيذ __exit__ بشكل صحيح في مديري السياق المخصصين.
  • تجاهل الاستثناءات في __exit__.

ما الذي تعلّمناه؟

في هذا الدرس، تعلّمت:

  • ما هي Context Managers وكيف تعمل مع العبارة with.
  • كيفية إنشاء Context Managers مخصصة باستخدام __enter__ و__exit__.
  • كيفية استخدام الوحدة contextlib لتبسيط إنشاء Context Managers.

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

Context Managers ‏(عبارات with) — رسم توضيحي 11

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

هل درس «Context Managers ‏(عبارات with)» مجاني؟

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

ماذا ستتعلم في «Context Managers ‏(عبارات with)»؟

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

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

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

كم من الوقت يستغرق درس «Context Managers ‏(عبارات with)»؟

معظم دروس 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