0Pricing
Python Academy · درس

مديرو السياق (عبارات with)

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

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

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

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

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

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

مديرو السياق (عبارات with) — رسم توضيحي 1

ما مدير السياق؟

ما مدير السياق؟

مدير السياق هو بنية تتيح لك تخصيص الموارد وتحريرها بكفاءة. ويستخدم عبارة 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

لماذا نستخدم مديري السياق؟

لماذا نستخدم مديري السياق؟

يساعدك مديرو السياق على:

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

مديرو السياق المضمنون

مديرو السياق المضمنون

تتضمن Python عدة مديري سياق مضمنين، مثل:

  • 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

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

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

أفضل الممارسات لمديري السياق

أفضل الممارسات لمديري السياق

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

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

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

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

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

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

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

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

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

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

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

مديرو السياق (عبارات with) — رسم توضيحي 11

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

هل درس «مديرو السياق (عبارات with)» مجاني؟

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

ماذا ستتعلم في «مديرو السياق (عبارات with)»؟

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

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

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

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

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

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

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

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

  1. Decorators
  2. المولّدات
  3. مديرو السياق (عبارات with)
  4. الاستيعابات (القوائم والمجموعات والقواميس)
  5. المُكرّرات والقابلة للتكرار
← العودة إلى Python Academy