match مطابقة الأنماط
آخر تحديث: 2026-09-22
match مطابقة الأنماط
match subject يُجري مطابقة نمط على subject بالاشتراك مع فروع case.
| التصنيف | الكلمات المفتاحية والعبارات |
|---|---|
| النوع | كلمة مفتاحية / عبارة |
| إصدار بايثون | 3.10+ |
📝 الصياغة
match subject:
case pattern:
block
case pattern:
block
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
greeting
🏷️ كلمات مفتاحية / عبارات ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qما إصدار بايثون الذي يتطلبه `match`؟
Aبايثون 3.10 أو أحدث (PEP 634/635). على 3.9 فما دون يُحدث `SyntaxError`؛ تحتاج إلى ترقية بايثون، أو استبداله مؤقتًا بسلسلة `if`/`elif`.
Qما الفرق بين `match` وسلسلة `if`/`elif`؟
Aيقوم `match` بمطابقة الأنماط البنيوية: يمكنه مطابقة القيم الحرفية، وفك تراكيب الصفوف/القوائم/القواميس (`case (0, y)`)، ودمج الأنماط بـ `|`، واستخدام `_` كبديل — أوضح من سلسلة `if`/`elif` طويلة.
Qماذا تعني `case _`؟
A`_` هو رمز بديل يطابق أي قيمة، ويعمل كبديل `else`. يذهب عادةً في آخر `case` ويتعامل مع كل ما لم يطابقه الأنماط السابقة.