آموزش دستور Match در پایتون
از دستور match در پایتون، برای انجام کارهای مختلف بسته به شرطهای مختلف استفاده میشود.
دستور Match در پایتون
به جای اینکه در پایتون، از تعداد زیادی دستور if...else استفاده کنیم، میتوانیم از دستور match استفاده کنیم. دستور match دستورات یکی از چند بلوک از کدهای خود را انتخاب میکند تا اجرا شود.
شیوهی نوشتاری یا سینتکس دستور Match در پایتون
match expression:
case x:
code block
case y:
code block
case z:
code block
روش کار کردن دستور بالا به صورت زیر است:
عبارت match expression یک بار ارزیابی میشود. سپس مقدار آن با مقدار هر یک از caseها مقایسه میشود. اگر مقدار مورد نظر، با مقدار یک case مطابقت داشته باشد، کدهای آن بلوک اجرا خواهند شد. مثال زیر، از شمارهی روزهای هفته، برای پرینت کردن نام روز از هفته استفاده میکند:
مثال شماره 1
day = 4
match day:
case 1:
print("Monday")
case 2:
print("Tuesday")
case 3:
print("Wednesday")
case 4:
print("Thursday")
case 5:
print("Friday")
case 6:
print("Saturday")
case 7:
print("Sunday")
نتیجه:
Thursday
امتحان کنیداگر میخواهید یک بلوک از کدها هنگامی که هیچ تطابق دیگری وجود ندارد، اجرا شوند، از یک کاراکتر آندرلاین _ بعنوان مقدار آخرین case استفاده کنید:
مثال شماره 2
day = 4
match day:
case 6:
print("Today is Saturday")
case 7:
print("Today is Sunday")
case _:
print("Looking forward to the Weekend")
نتیجه:
Looking forward to the Weekend
امتحان کنیدمقدار _ همیشه مورد تطابق قرار میگیرد و دستورات آن اجرا میشوند، بنابراین مهم است که آن را بعنوان مقدار آخرین case مورد استفاده قرار دهید تا بعنوان یک case پیش فرض رفتار کند.
ترکیب کردن مقادیر در پایتون
ما میتوانیم از یک کاراکتر | بعنوان یک عملگر or در ارزیابی case استفاده کنیم تا بتوانیم در یک case، بیش از یک مقدار را مورد تطابق قرار دهیم:
مثال شماره 3
day = 4
match day:
case 1 | 2 | 3 | 4 | 5:
print("Today is a weekday")
case 6 | 7:
print("I love weekends!")
نتیجه:
Today is a weekday
امتحان کنیداستفاده از دستور if بعنوان نگهبان
ما میتوانیم از یک دستور if در ارزیابی یک case، بعنوان یک شرطِ بررسیِ اضافی، استفاده کنیم:
مثال شماره 4
month = 5
day = 4
match day:
case 1 | 2 | 3 | 4 | 5 if month == 4:
print("A weekday in April")
case 1 | 2 | 3 | 4 | 5 if month == 5:
print("A weekday in May")
case _:
print("No match")
نتیجه:
A weekday in May
امتحان کنیدمنبع: www.w3schools.com/python
- بازدید: 19
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.