Match¶
Pernyataan match digunakan untuk melakukan tindakan berbeda berdasarkan kondisi berbeda.
Match Statement¶
Alih-alih menulis banyak pernyataan if..else, Anda dapat menggunakan pernyataan match.
Pernyataan match memilih satu dari banyak blok kode yang akan dieksekusi.
Syntax
match expression:
case x:
code block
case y:
code block
case z:
code block
Begini cara kerjanya:
Ekspresi
matchdievaluasi sekali.Nilai ekspresi dibandingkan dengan nilai setiap kasus.
Jika terdapat kecocokan, blok kode terkait akan dieksekusi.
Contoh di bawah ini menggunakan nomor hari kerja untuk mencetak nama hari kerja:
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")
Nilai Default¶
Gunakan karakter garis bawah _ sebagai nilai akhir jika Anda ingin blok kode dieksekusi ketika tidak ada kecocokan lain:
day = 4
match day:
case 6:
print("Today is Saturday")
case 7:
print("Today is Sunday")
case _:
print("Looking forward to the Weekend")
Nilai _ akan selalu cocok, jadi penting untuk menempatkannya sebagai case terakhir agar berperilaku sebagai case default.
Combine Value¶
Gunakan karakter pipa | sebagai operator atau dalam evaluasi case untuk memeriksa kecocokan lebih dari satu nilai dalam satu case:
day = 4
match day:
case 1 | 2 | 3 | 4 | 5:
print("Today is a weekday")
case 6 | 7:
print("I love weekends!")
If Statements as Guards¶
Anda dapat menambahkan pernyataan if dalam evaluasi case sebagai pemeriksaan kondisi tambahan:
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")