🐍 شرح Python

جملة المطابقة (Match)

ما هي جملة match؟

أُضيفت في بايثون 3.10، وهي بديل أنيق عن سلاسل if/elif الطويلة عند المقارنة بقيمة واحدة مع عدة احتمالات (تشبه switch في اللغات الأخرى):

day = "السبت"

match day:
    case "الجمعة":
        print("عطلة")
    case "السبت":
        print("عطلة")
    case _:
        print("يوم عمل")

case _ هي الحالة الافتراضية (إن لم تطابق أيًّا مما سبق).

مقارنة: if مقابل match

# بـ if/elif
status = 404
if status == 200:
    print("ناجح")
elif status == 404:
    print("غير موجود")
elif status == 500:
    print("خطأ خادم")
else:
    print("غير معروف")

# بـ match (أوضح)
match status:
    case 200:
        print("ناجح")
    case 404:
        print("غير موجود")
    case 500:
        print("خطأ خادم")
    case _:
        print("غير معروف")

دمج عدة قيم في حالة واحدة

استخدم | لمطابقة أكثر من قيمة:

match day:
    case "الجمعة" | "السبت":
        print("عطلة نهاية الأسبوع")
    case _:
        print("يوم عمل")

جرّب بنفسك

🐍 محرّر بايثون
...جارٍ تحميل المحرّر
اضغط «تشغيل» لرؤية النتيجة هنا.

أخطاء شائعة

  • استخدام match في إصدار بايثون أقدم من 3.10 (غير مدعوم).
  • نسيان case _ فلا تُعالَج الحالات غير المتوقّعة.

🎯 التالي: lambda والدوال المتقدّمة وrange.