Python - Pengendalian Penyataan
Helo, ahli peny[gMASK]
Berikut adalah terjemahan teks yang diberikan ke dalam bahasa Melayu (ms):
Python - Pengendalian Penyataan
Helo, ahli penyelidik Python masa depan! Saya gembira untuk menjadi pemandu anda dalam perjalanan yang menarik ini ke dunia pengendalian penyataan Python. Sebagai seseorang yang telah mengajar pemrograman untuk beberapa tahun, saya boleh katakan bahwa untuk memahami penyataan adalah seperti untuk belajar untuk bersepeda dengan rakit penyusun - ia mungkin kelihatan sukar pada awalnya, tetapi sekali anda menguasainya, anda akan dapat untuk berlayar dengan lancar pada masa yang singkat!
Apa itu Penyataan?
Sebelum kita koyak ke atas, mari kita mula dengan asas. Bayangkan anda sedang untuk memasak kue (ikuti saya di sini, saya janji ini berkaitan dengan Python!). Anda telah pun mendapat resepi anda (kod anda), bahan-bahan anda (data anda), dan anda sudah bersedia untuk mula. Tetapi apa yang terjadi jika anda kehabisan telur di atas perjalanan? Itu adalah penyataan di dunia penyedap!
Di Python, penyataan adalah ralat yang muncul semasa pelaksanaan program. Ia seperti bendera merah yang muncul dan katakan, "Whoa di sana! Ada sesuatu yang tidak kena!"
Mari kita lihat contoh yang simple:
print(10 / 0)
Jika anda jalankan kod ini, Python akan meletakkan penyataan ZeroDivisionError
. Ia mengatakan, "Hey, anda tak boleh bahagi dengan kosong! Ia tidak dibenarkan di atas dapur saya... Saya maksud, lingkungan pemrograman!"
Pengendalian Penyataan di Python
Sekarang kita tahu apa itu penyataan, mari kita belajar bagaimana untuk mengendalikan mereka dengan elok. Di Python, kita gunakan blok try
dan except
untuk menangkap dan mengendalikan penyataan.
Ini adalah struktur asasnya:
try:
# Kod yang mungkin meletakkan penyataan
except jenisPenyataan:
# Kod untuk mengendalikan penyataan
Mari kita ubah contoh sebelumnya:
try:
result = 10 / 0
print(result)
except ZeroDivisionError:
print("Opps! Anda tak boleh bahagi dengan kosong.")
Apabila anda jalankan kod ini, bukannya kena kerosakan, ia akan cetak: "Opps! Anda tak boleh bahagi dengan kosong."
klausa except tanpa Penyataan
Bila-bila masa, anda mungkin ingin untuk menangkap penyataan yang muncul. Dalam kes ini, anda boleh gunakan klausa except
tanpa menentukan jenis penyataan:
try:
# Beberapa kod berisiko
x = int(input("Masukkan nombor: "))
y = 10 / x
print(y)
except:
print("Ada sesuatu yang salah!")
Ini akan menangkap penyataan yang muncul di atas blok try
. Walau bagaimanpun, secara umum adalah lebih baik untuk menangkap penyataan khusus apabila anda boleh, kerana ia menjadikan kod anda lebih tepat dan lebih mudah untuk didebug.
klausa except dengan Beberapa Penyataan
Anda juga boleh mengendalikan beberapa penyataan di atas klausa except
yang sama:
try:
x = int(input("Masukkan nombor: "))
y = 10 / x
print(y)
except (ValueError, ZeroDivisionError):
print("Input tidak sah atau pembahagian dengan kosong!")
Kod ini akan menangkap kedua-dua ValueError
(jika pengguna masukkan nilai bukan numerik) dan ZeroDivisionError
.
klausa try-finally
Klausa finally
digunakan untuk kod yang mesti dilaksanakan tanpa mengira sama ada penyataan muncul atau tidak. Ia seperti rakit penyusun selepas pesta - ia akan selalu muncul, tidak kira bagaimana pesta berjalan!
try:
f = open("contoh.txt", "r")
# Lakukan beberapa operasi di atas fail
except FileNotFoundError:
print("Fail tersebut tidak wujud!")
finally:
f.close() # Ini akan selalu dilaksanakan, walaupun penyataan muncul
Argumen Penyataan
Penyataan boleh membawa maklumat tambahan. Anda boleh mengakses maklumat ini di atas klausa except
anda:
try:
x = 10 / 0
except ZeroDivisionError as e:
print(f"Ralat berlaku: {e}")
Ini akan cetak: "Ralat berlaku: pembahagian dengan kosong"
Meletakkan Penyataan
Bila-bila masa, anda mungkin ingin untuk meletakkan penyataan sendiri. Ia seperti menjadi wasit di atas permainan dan memanggil kesalahan:
def periksa_umur(umur):
if umur < 0:
raise ValueError("Umur tak boleh negatif!")
print(f"Umur anda adalah {umur}")
try:
periksa_umur(-5)
except ValueError as e:
print(e)
Ini akan cetak: "Umur tak boleh negatif!"
Penyataan Ditakrif oleh Pengguna
Anda juga boleh membuat jenis penyataan anda sendiri. Ia seperti menginventoriaturat baru di atas permainan:
class TerlaluBanyakPizzaError(Exception):
pass
def pesan_pizza(nombor):
if nombor > 100:
raise TerlaluBanyakPizzaError("Anda tak boleh pesan lebih daripada 100 pizza!")
print(f"Pesanan untuk {nombor} pizza ditempatkan berjaya.")
try:
pesan_pizza(101)
except TerlaluBanyakPizzaError as e:
print(e)
Penyataan di Python
Penyataan adalah cara untuk memastikan bahwa syarat tertentu dipenuhi. Ia seperti rakit penyusun kecil di atas kod anda:
def bahagi(a, b):
assert b != 0, "Pembahagi tak boleh kosong!"
return a / b
try:
result = bahagi(10, 0)
except AssertionError as e:
print(e)
Ini akan cetak: "Pembahagi tak boleh kosong!"
Penyataan Standar
Python datang dengan satu set penyataan terbina-dalam. Berikut adalah beberapa dari yang paling umum:
Nama Penyataan | Keterangan |
---|---|
ZeroDivisionError | Dilepaskan apabila pembahagian atau modulo oleh kosong berlaku |
ValueError | Dilepaskan apabila fungsi mendapat argumen jenis yang betul tetapi nilai yang tidak sah |
TypeError | Dilepaskan apabila operasi atau fungsi diterapkan kepada objek jenis yang tidak sesuai |
NameError | Dilepaskan apabila nama tempatan atau global tidak ditemui |
FileNotFoundError | Dilepaskan apabila fail atau direktori diminta tetapi tidak wujud |
IndexError | Dilepaskan apabila subskripur urutan di luar julat |
KeyError | Dilepaskan apabila kunci rakam tidak ditemui |
ImportError | Dilepaskan apabila pernyataan import gagal |
Dan itu adalah, rakan-rakan! Anda baru sahaja menyelesaikan kelas kempimpinan anda di atas pengendalian penyataan Python. Ingat, penyataan bukan musuh anda - mereka adalah seperti rakam penyedia arah yang membantu anda menuju kepada kod yang lebih baik dan lebih kuat. Teruskan untuk berlatih, teruskan untuk eksperimen, dan tidak lama lagi anda akan mengendalikan penyataan seperti profesional. Selamat untuk pemrograman!
Credits: Image by storyset