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

ما مدير السياق؟
ما مدير السياق؟
مدير السياق هو بنية تتيح تخصيص الموارد وتحريرها بكفاءة. ويستخدم تعليمة 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لتبسيط إنشاء مديري السياق.
أحسنت! لننتقل إلى الموضوع التالي.

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