match

Python match kalit so‘zi

❮ Python kalit so‘zlari ma’lumotnomasi


Misol

Qiymatni andozalar bilan solishtiruvchi oddiy match:

role = "editor" match role:   case "admin":     print("Full access")   case "editor":     print("Edit content")   case "viewer":     print("Read-only")
O‘zingiz sinab ko‘ring »

Ta’rif va qo‘llanilishi

match kalit so‘zi Python 3.10 da joriy etilgan strukturaviy andozaga moslashtirish (structural pattern matching) operatorini boshlaydi.

U tekshirilayotgan qiymatni (subject) bir yoki bir nechta case andozalari bilan solishtiradi va birinchi mos kelgan case blokini bajaradi.

Quyidagilardan foydalanishingiz mumkin:

  • Literal andozalar (sonlar, stringlar)
  • | bilan yoziladigan OR-andozalar
  • Istalgan qiymatga mos keladigan _ wildcard belgisi (standart case)
  • Qo‘shimcha shartlar uchun if bilan yoziladigan guard’lar
  • Ketma-ketlik, mapping va sinf andozalari (ilg‘or daraja)

Ko‘proq misollar

Misol

| yordamida bir nechta qiymatni bitta case’ga guruhlang:

status = 404 match status:   case 400 | 404:     print("Client Error")   case 200:     print("OK")   case 500:     print("Server Error")
O‘zingiz sinab ko‘ring »

Misol

Qolgan barcha holatlarni ushlash uchun _ bilan standart case’dan foydalaning:

status = 201 match status:   case 200:     print("OK")   case 201:     print("Created")   case _:     print("Other")
O‘zingiz sinab ko‘ring »

Misol

Bir nechta string qiymatni moslashtiring va standart case’dan foydalaning:

cmd = "quit" match cmd:   case "start":     print("Starting...")   case "stop":     print("Stopping...")   case _:     print("Unknown command")
O‘zingiz sinab ko‘ring »

Misol

Moslashtirishni aniqlashtirish uchun | (OR) va guard shartidan foydalaning:

n = 10 match n:   case 0 | 1:     print("Small")   case x if x % 2 == 0:     print("Even number:", x)   case _:     print("Odd number:", n)
O‘zingiz sinab ko‘ring »


Tegishli sahifalar

case kalit so‘zi.

Andozaga moslashtirish haqida ko‘proq ma’lumotni Python match darsligimizda o‘qing.


❮ Python kalit so‘zlari ma’lumotnomasi

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!