اگر شما هم از آن دسته برنامهنویسانی هستید که همیشه با شرطهای تو در تو مثل if-elif-else سروکله میزنید، وقتش رسیده که کدهای خود را بهبود دهید. برای این کار می توانید از ویژگی جذاب و قدرتمند match-case در پایتون که در نسخه 3.10 معرفی شده است، استفاده کنید.
تصور کنید در حال کار با دادههایی مثل دیکشنریها یا لیستهای پیچیده هستید. مدیریت این دادهها به کمک match-case نه تنها سادهتر، بلکه شیکتر میشود. این قابلیت، نسخه پایتونی switch-case در زبانهای دیگر است، اما با امکاناتی بسیار بیشتر و کاربردیتر. در ادامه این مقاله، با این ویژگی جدید آشنا میشویم و یاد میگیریم چطور از آن در پروژههای خود استفاده کنیم.
match-case در پایتون چیست؟
match-case ابزاری برای تطبیق الگوها در پایتون است که از نسخه 3.10 معرفی شده. این ویژگی به شما اجازه میدهد با تعریف الگوها (patterns)، دادههای مختلف را بررسی کرده و کدی خواناتر و منظمتر بنویسید.
فرض کنید در حال نوشتن برنامهای هستید که باید عملیاتهای مختلفی مانند ایجاد، حذف، ویرایش یا مدیریت دادهها را انجام دهد. معمولاً برای این کار از ترکیبی از if-elif-else استفاده میکنیم که میتواند به سرعت پیچیده و گیجکننده شود. اینجا جایی است که match-case وارد میدان میشود و کد شما را به سادهترین و زیباترین شکل ممکن درمیآورد.
به عنوان مثال فرض کنید میخواهید دادههایی را که به شکل دیکشنری هستند، پردازش کنید:
این کد چه میکند؟
- اگر دیکشنری ورودی شامل action برابر با “create” باشد، یک آیتم جدید ایجاد میکند.
- اگر action برابر با “delete” باشد، آیتم مربوطه حذف میشود.
- اگر action برابر با “update” باشد، محتوای آیتم بهروزرسانی میشود.
- در غیر این صورت، پیام “داده نامعتبر” چاپ میشود.
مقایسه match-case با if-elif-else
اگر همان مثال بالا را با if-elif-else بنویسید، به این شکل خواهد بود:
این روش نه تنها طولانیتر، بلکه خوانایی کمتری نیز دارد.
جمعبندی
ویژگی match-case در پایتون 3.10 انقلابی در مدیریت شرایط پیچیده و تطبیق الگوها ایجاد کرده است. با استفاده از این قابلیت، کدی تمیزتر، خواناتر و حرفهایتر خواهید نوشت. اگر هنوز از نسخههای قدیمیتر پایتون استفاده میکنید، زمان آن رسیده که به 3.10 مهاجرت کنید و از این ابزار قدرتمند بهرهمند شوید.