Python match


matchoperatori har xil shartlarga asoslangan turli harakatlarni bajarish uchun ishlatiladi.


ULASHISH

Python moslik operatori

Ko‘p if..else operatorlarini yozish o‘rniga,matchoperatoridan foydalanishingiz mumkin.

matchoperatori bajariladigan ko‘plab kod bloklaridan birini tanlaydi.

Sintaksis

match expression:   case x:     code block   case y:     code block   case z:     code block

Bu shunday ishlaydi:

  • matchifodasi bir marta baholanadi.
  • Ifodaning qiymati har bircaseqiymatlari bilan taqqoslanadi.
  • Agar mos keladigan bo‘lsa, tegishli kod bloki bajariladi.

Quyidagi misolda ish kuni nomini chop etish uchun ish kuni raqami ishlatiladi:

Misol

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")
O‘zingiz sinab ko‘ring »


Standart qiymat

Agar kod bloki boshqa mos kelmaydigan hollarda bajarilishini istasangiz, oxirgi harf qiymati sifatida _ pastki chiziq belgisidan foydalaning:

Misol

day = 4 match day:   case 6:     print("Today is Saturday")   case 7:     print("Today is Sunday")   case _:     print("Looking forward to the Weekend")
O‘zingiz sinab ko‘ring »

_ qiymati har doim mos keladi, shuning uchun uni sukut bo‘yicha ish qilish uchun oxirgi holat sifatida joylashtirish muhimdir.


Qiymatlarni birlashtirish

pipeline belgisidan foydalaning | bir holatda bir nechta qiymat mosligini tekshirish uchun vaziyatni baholashda operator yoki operator sifatida:

Misol

day = 4 match day:   case 1 | 2 | 3 | 4 | 5:     print("Today is a weekday")   case 6 | 7:     print("I love weekends!")
O‘zingiz sinab ko‘ring »

Agar soqchilar sifatida ko‘rsatmalar

ifiboralarini qo‘shimcha shart tekshiruvi sifatida ishni baholashga qo‘shishingiz mumkin:

Misol

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")
O‘zingiz sinab ko‘ring »



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!