اپراتور match case

  • مدرس : علی بیگدلی
  • تاریخ انتشار: 1404/05/11
  • تعداد بازدید: 225

ساختار match-case در پایتون

ساختار match-case در نسخه 3.10 پایتون معرفی شد و به عنوان شکل توسعه‌یافته‌تری از شرط‌های if-elif-else عمل می‌کند. این ساختار شبیه به switch-case در زبان‌های دیگر مانند C یا Java است، اما با قابلیت‌های بسیار پیشرفته‌تر که به آن «تطبیق ساختاری» یا Structural Pattern Matching گفته می‌شود.

مثال ساده:
status = 404

match status:
    case 200:
        print("Success")
    case 404:
        print("Not Found")
    case 500:
        print("Server Error")
    case _:
        print("Unknown")
تفاوت با if:
  • کد match-case خواناتر و مرتب‌تر از if-elif-else است، به‌خصوص زمانی که چندین مقدار مختلف باید بررسی شوند.
  • در match-case می‌توان ساختارهای پیچیده‌تری مانند لیست، دیکشنری یا آبجکت را نیز تطبیق داد.
  • در match می‌توان از الگوهایی مانند باز کردن لیست، بررسی نوع، بررسی مقادیر تو در تو و حتی اتصال متغیر در الگو استفاده کرد.
مثال تطبیق ساختاری پیچیده:
user = {"type": "admin", "name": "Sara"}

match user:
    case {"type": "admin", "name": name}:
        print(f"Admin user: {name}")
    case {"type": "guest", "name": name}:
        print(f"Guest user: {name}")
    case _:
        print("Unknown user")

نکته: ساختار match-case فقط در پایتون 3.10 و بالاتر قابل استفاده است و در نسخه‌های پایین‌تر باعث خطا خواهد شد.

ثبت دیدگاه


نکته: آدرس ایمیل شما منتشر نخواهد شد
0/600

دیدگاه کاربران (2)


avatar
کاربر جدید 3584
28 , مهر , 1404 - 14:10 بعد از ظهر

عاقلانه است در نرم افزار هامون ازش استفاده کنیم؟ اونم وقتی تازه ارائه شده؟

avatar
علی بیگدلی
28 , مهر , 1404 - 16:48 بعد از ظهر

این تازه ای که میگید از نسخه 3.10 بوده الان نسخه 3.14 هستیم پس عملا جا افتاده و همونطور که walrus و خیلی چیزای دیگه تعریف شدن همین الانم قابل استفادس

نکته: آدرس ایمیل شما منتشر نخواهد شد
0/600