آموزش کامل ساختار match-case در پایتون
اگر شما هم از دسته برنامهنویسانی هستید که از شرطهای تو در توی if-elif-else خسته شدید، خبر خوب اینه که از نسخهی Python 3.10 به بعد میتونید از ساختار جذاب و تمیز match-case استفاده کنید! این ساختار مثل switch-case در زبانهای دیگهست، اما قدرت و انعطافپذیری بیشتری داره.
در این مقاله از آی کد آکادمی قراره صفر تا صد ساختار match-case رو یاد بگیریم. همراه ما باش!
ساختار match-case چیست؟
ساختار match-case یکی از ویژگیهای جدید پایتون ۳.۱۰ به بعده. این ساختار برای بررسی مقادیر مختلف یک متغیر و اجرای دستورات بر اساس اون مقدار استفاده میشه. چیزی شبیه switch-case در C یا JavaScript، اما قدرتمندتر چون الگوهای پیشرفتهتر رو هم پشتیبانی میکنه.
نحوه نوشتن match-case در پایتون
ساختار کلی match-case به شکل زیره:
✅ توجه: علامت زیرخط (_) به معنی حالت پیشفرضه و در صورتی اجرا میشه که هیچکدوم از caseها مطابق نباشن.
مثال ساده از match-case در پایتون
📌 خروجی: This is an apple 🍎
مقایسه match-case با if-elif-else
مثال بالا با if-elif-else:
با شرط هم اگر بخوایم میتونیم انجام بدیم ولی کد با match-case مرتبتر و قابلفهمتره.
قابلیتهای پیشرفته match-case
1. بررسی چند مقدار در یک case
✅ با | میتونی چند مقدار رو در یک case بررسی کنی.
2. استفاده از متغیر در case (Binding)
📌 وقتی ساختار دادهات tuple یا ساختار مشابه باشه، میتونی عناصرش رو مستقیماً درون case باز کنی.
3. بررسی نوع داده
4. استفاده از Guard در match-case (شرط اضافی روی case)
گاهی اوقات فقط match شدن با یک الگو کافی نیست، و دوست داری شرط اضافهای هم چک بشه. اینجا میتونی از guard استفاده کنی که با کلمهی کلیدی if بعد از case میاد.
📌 در این مثال، هر case فقط وقتی اجرا میشه که هم با الگو match بشه و هم شرط if درست باشه.
5. ترکیب الگو + guard
📌 اگه guard نبود، هر دو case با tuple match میشن و فقط اولین اجرا میشه. ولی چون شرط گذاشتیم، فقط وقتی age بالای ۱۸ باشه case اول اجرا میشه.
نکات مهم دربارهی Guard در match-case
شرط guard فقط وقتی بررسی میشه که الگو match شده باشه.
ترتیب caseها خیلی مهمه. چون match-case اولین گزینهی معتبر رو اجرا میکنه.
میتونی از هر عبارت
ifاستانداردی توی guard استفاده کنی.
نکات مهم در استفاده از match-case
فقط در پایتون ۳.۱۰ به بعد کار میکنه.
ترتیب caseها مهمه؛ اولین موردی که match بشه اجرا میشه.
نمیتونه جایگزین کامل if-else بشه، چون برای بررسی شرطهای پیچیده (مثل x > 10) بهتره از if استفاده بشه.
match-caseاز قدرت Pattern Matching بهره میبره که توی زبانهای پیشرفتهای مثل Rust یا Scala هم وجود داره.
کاربردهای match-case در دنیای واقعی
ساخت منوهای CLI ساده
تجزیه و تحلیل دادههای ساختاریافته مثل JSON یا tuple
مدیریت وضعیت (state handling) در بات تلگرام یا اپلیکیشنها
جمعبندی
ساختار match-case در پایتون راهی ساده، شفاف و حرفهای برای نوشتن شرطهای مختلفه. این ساختار کمک میکنه کد شما خواناتر، کوتاهتر و قابل نگهداریتر باشه. اگر از پایتون ۳.۱۰ یا جدیدتر استفاده میکنی، حتماً از این ویژگی استفاده کن!
اگر سوالی درباره match-case داری، حتماً در بخش نظرات آی کد آکادمی بپرس! ما در کنار تو هستیم تا پایتون رو شیرینتر یاد بگیری. 🐍
دیدگاهتان را بنویسید