عبارات الشرط match case والمقارنات في بايثون: من if إلى الأنماط

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

العبارات الشرطية في بايثون: دليل شامل

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

الأنواع الرئيسية للعبارات الشرطية

في لغة البرمجة بايثون، تتوفر الأنواع التالية من العبارات الشرطية:

  • التركيبات التقليدية if و elif و else
  • العوامل المنطقية and و or و not
  • عوامل المقارنة == و != و < و > و is و in
  • المطابقة الهيكلية match case (بدءًا من الإصدار 3.10)

كل من هذه الأدوات لها خصائص استخدامها الخاصة وتناسب حل مهام برمجية معينة.

التركيبات الشرطية الأساسية

هيكل if و elif و else

أساس المنطق الشرطي في بايثون هو تركيب if-elif-else:

x = 10
if x > 0:
    print("موجب")
elif x == 0:
    print("صفر")
else:
    print("سالب")

تستخدم بايثون المسافات البادئة (indentation) لتحديد كتل الكود بدلاً من الأقواس المعقوفة. الاستخدام الصحيح للمسافات البادئة أمر بالغ الأهمية، لأنها جزء من بناء الجملة في اللغة.

خصائص بناء الجملة

يجب أن تكون المسافات البادئة في بايثون متسقة في جميع أنحاء الكود. يُوصى باستخدام 4 مسافات لكل مستوى من التداخل. قد يؤدي خلط المسافات وعلامات التبويب (Tab) إلى أخطاء في تنفيذ البرنامج.

عوامل المقارنة في بايثون

تدعم بايثون مجموعة واسعة من عوامل المقارنة، مما يسمح بإنشاء شروط معقدة:

المقارنات الحسابية

  • == تتحقق من تساوي القيم
  • != تتحقق من عدم التساوي
  • < و > تقارن الأصغر والأكبر على التوالي
  • <= و >= تتضمن المساواة في المقارنة

العوامل الخاصة

العامل is يتحقق من تطابق الكائنات في الذاكرة، وليس من تساوي القيم. العامل in يتحقق من انتماء عنصر إلى مجموعة.

s1 = "hello"
s2 = "hello"
print(s1 == s2)  # True - تساوي القيم
print(s1 is s2)  # True للسلاسل النصية المُدخلة داخليًا

مقارنة السلاسل النصية وخصائصها

تقوم بايثون تلقائيًا بإدخال السلاسل النصية القصيرة داخليًا (interning)، مما يعني أن السلاسل النصية المتطابقة قد تشير إلى نفس الكائن في الذاكرة. وهذا يؤثر على نتيجة المقارنة باستخدام is.

العوامل المنطقية: and, or, not

تسمح العوامل المنطقية بدمج عدة شروط في تعبير واحد:

a = 5
b = 10
if a > 0 and b > 0:
    print("كلاهما موجب")

مبادئ عمل العوامل المنطقية

  • and يُرجع True فقط عندما يكون كلا الشرطين صحيحين
  • or يُرجع True إذا كان شرط واحد على الأقل صحيحًا
  • not يعكس القيمة المنطقية

خاصية قصر الدائرة (Short-circuit evaluation)

تستخدم بايثون مبدأ قصر الدائرة عند تقييم التعبيرات المنطقية. وهذا يعني أنه إذا تم تحديد النتيجة بالفعل من المعامل الأول، فلن يتم تقييم المعامل الثاني.

التركيبات الشرطية المتداخلة

يمكن تداخل العبارات الشرطية داخل بعضها البعض لإنشاء منطق أكثر تعقيدًا:

x = 15
if x > 0:
    if x < 10:
        print("أقل من 10")
    else:
        print("من 10 فأكثر")

توصيات للاستخدام

قد يؤدي التداخل المفرط إلى تدهور قابلية قراءة الكود. يُوصى بالاقتصار على 3-4 مستويات من التداخل، وعند الضرورة، يُفضل نقل المنطق المعقد إلى دوال منفصلة.

match case في بايثون 3.10+

مقدمة في المطابقة الهيكلية

المدونات

توصيات الكتب