Dasar-Dasar match dan case
Buat percabangan berdasarkan pola nilai
Dasar-Dasar match dan case adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.
Pencocokan Pola Struktural
Python 3.10 memperkenalkan pencocokan pola struktural dengan pernyataan match. Pernyataan ini membandingkan suatu nilai dengan serangkaian pola dan menjalankan kasus pertama yang cocok, sehingga jauh lebih kuat daripada rangkaian if/elif.
Sintaks Dasar
Tuliskan match diikuti subjeknya, lalu satu atau beberapa blok case. Kasus pertama yang cocok akan dijalankan.
command = 'start'
match command:
case 'start':
print('Starting up')
case 'stop':
print('Shutting down')
# prints: Starting upMencocokkan Nilai Literal
Pola paling sederhana adalah nilai literal: angka, teks, True, False, dan None. Pola tersebut cocok ketika subjek sama dengan nilai literalnya.
code = 404
match code:
case 200:
print('OK')
case 404:
print('Not Found')
case 500:
print('Server Error')Pola Pengganti _
Garis bawah _ adalah pola pengganti yang cocok dengan apa pun. Letakkan pola ini di akhir sebagai nilai bawaan yang menangani semua kemungkinan, seperti else.
code = 418
match code:
case 200:
print('OK')
case _:
print('Unknown status')Menggabungkan dengan OR
Gunakan operator | di dalam sebuah kasus untuk mencocokkan salah satu dari beberapa pola.
code = 301
match code:
case 200 | 201 | 204:
print('Success')
case 301 | 302:
print('Redirect')
case _:
print('Other')Menangkap Nilai
Nama polos dalam sebuah pola menangkap subjek ke dalam variabel tersebut. Gunakan cara ini ketika Anda mencocokkan semua kemungkinan tetapi tetap menginginkan nilainya.
value = 42
match value:
case 0:
print('zero')
case other:
print('got', other)Urutan Penting
Kasus diuji dari atas ke bawah dan kecocokan pertama yang berhasil akan digunakan. Pola penangkapan umum yang ditempatkan terlalu awal akan menutupi kasus-kasus berikutnya yang lebih spesifik.
x = 5
match x:
case n: # matches everything first!
print('caught by capture')
case 5:
print('this never runs')Pencocokan Tidak Mengembalikan Nilai
match adalah sebuah pernyataan, bukan ekspresi, sehingga tidak mengembalikan nilai. Tetapkan variabel di dalam kasus-kasus tersebut jika Anda memerlukan hasil.
day = 6
label = ''
match day:
case 0 | 6:
label = 'weekend'
case _:
label = 'weekday'
print(label)Mencocokkan None
Anda dapat mencocokkan None secara langsung. Cara ini lebih rapi daripada pemeriksaan is None yang eksplisit di dalam sebuah rangkaian.
def describe(value):
match value:
case None:
return 'nothing'
case _:
return 'something: ' + str(value)
print(describe(None))
print(describe(7))Pengarah Perintah Praktis
Pencocokan pola sangat berguna sebagai pengarah perintah, dengan mengubah rangkaian if yang panjang menjadi tabel kasus yang jelas.
def handle(cmd):
match cmd:
case 'help':
return 'Showing help'
case 'quit' | 'exit':
return 'Goodbye'
case _:
return 'Unknown command'
print(handle('exit'))
print(handle('foo'))Mencocokkan True, False, dan None
Konstanta True, False, dan None dicocokkan berdasarkan identitas, bukan kesamaan. Hal ini menjadikannya nilai tunggal yang andal untuk dijadikan percabangan.
def report(flag):
match flag:
case True:
return 'enabled'
case False:
return 'disabled'
case None:
return 'unset'
print(report(True))
print(report(None))Uji Cepat
Apa yang dilakukan pola pengganti _ dalam pernyataan pencocokan?
Ringkasan
Anda telah mempelajari cara membuat percabangan berdasarkan pola nilai.
matchmenguji kasus dari atas ke bawah; kecocokan pertama yang berhasil akan digunakan.- Cocokkan nilai literal, gunakan
_untuk menangani semua kemungkinan, dan gabungkan pola dengan|. - Nama polos menangkap nilai.
matchadalah pernyataan, bukan ekspresi.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Dasar-Dasar match dan case” gratis?
Ya — teks lengkap “Dasar-Dasar match dan case” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Dasar-Dasar match dan case”?
Buat percabangan berdasarkan pola nilai Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Python Academy?
Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Dasar-Dasar match dan case” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?
Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Dasar-Dasar match dan case
- Mencocokkan Sequence dan Mapping
- Pola Kelas
- Guard dan Wildcard