Seperti bahasa pemrograman lainnya, Python memiliki seperangkat aturannya sendiri. Jika aturan-aturan ini tidak diikuti, kode menjadi tidak dapat dimengerti oleh penerjemah, yang menyebabkan kesalahan sintaks. Kesalahan-kesalahan ini adalah masalah umum yang dihadapi oleh para programmer pemula maupun yang sudah berpengalaman. Artikel ini membahas kesalahan yang paling sering terjadi di Python dan menyediakan metode untuk memperbaikinya selama proses pemrograman.
Ketika terjadi kesalahan sintaksis, Python memberikan pesan kesalahan yang menunjukkan masalahnya. Pesan ini biasanya mencakup:
Salah satu kesalahan Python yang paling umum yang dilakukan oleh pemula adalah lupa menutup tanda kurung. Hal ini sangat umum terjadi pada pemanggilan fungsi dan struktur bersarang.
Contoh:
print("Hello, World!"
Pesan kesalahan Python:
Memperbaiki:
Pastikan semua tanda kurung ditutup dengan benar.
print("Hello, World!")
Python bergantung pada indentasi untuk mendefinisikan blok kode. Indentasi yang salah dapat menyebabkan kesalahan sintaks.
Contoh:
def greet():
print("Hello, World!")
Pesan kesalahan Python:
Memperbaiki:
Indentasi blok kode dengan benar.
def greet():
print("Hello, World!")
Lupa menyertakan koma di antara elemen-elemen dalam daftar atau kamus adalah kesalahan lain yang sering terjadi.
Contoh:
fruits = {"type": "sweert" "name": "orange"}
Pesan kesalahan Python:
Memperbaiki:
Tambahkan koma yang hilang di antara "sweert" dan "name".
fruits = {"type": "sweert", "name": "orange"}
Menggunakan kata kunci yang dicadangkan Python secara tidak tepat juga dapat mengakibatkan kesalahan sintaks. Kata kunci adalah kata-kata yang dicadangkan yang memiliki arti khusus.
Contoh:
class = "Beginner"
Pesan kesalahan Python:
Memperbaiki:
Pilih nama lain yang bukan merupakan kata kunci yang dicadangkan.
level = "Beginner"
Nama variabel harus mengikuti aturan tertentu. Menggunakan nama variabel yang tidak sah, seperti dimulai dengan angka atau mengandung spasi, akan mengakibatkan kesalahan sintaksis.
Contoh:
2name = "John"
Pesan kesalahan Python:
Memperbaiki:
Gunakan nama variabel yang valid.
name2 = "John"
String harus diapit dengan tanda kutip yang sesuai. Lupa menutup string akan mengakibatkan kesalahan sintaks.
Contoh:
message = "Hello, World!
Pesan kesalahan Python:
Memperbaiki:
Pastikan string ditutup dengan jenis tanda kutip yang sama.
message = "Hello, World!"
Lupa menambahkan tanda titik dua (:) di akhir pernyataan majemuk seperti if, for, while, dan def dapat menyebabkan kesalahan sintaksis.
Contoh:
def greet()
print("Hello, World!")
Pesan kesalahan Python:
Memperbaiki:
Tambahkan tanda titik dua di akhir pernyataan majemuk.
def greet():
print("Hello, World!")
Menggunakan operator secara tidak benar dapat menyebabkan kesalahan sintaks. Ini termasuk operator penugasan dan operator perbandingan.
Contoh:
if x = 10:
print("x is 10")
Pesan kesalahan Python:
Memperbaiki:
Gunakan operator perbandingan yang benar.
if x == 10:
print("x is 10")
Mari kita lihat sebuah skrip scraping web sederhana yang mengalami kesalahan sintaksis dan cara men-debugnya menggunakan debugger bawaan Python, pdb.
Kode asli:
import requests
from bs4 import BeautifulSoup
url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
titles = soup.find_all("h1")
for title in titles
print(title.text)
Pesan kesalahan Python:
Memperbaiki:
Tambahkan titik dua yang hilang setelah perulangan for.
import requests
from bs4 import BeautifulSoup
url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
titles = soup.find_all("h1")
for title in titles:
print(title.text)
Tambahkan baris berikut sebelum perulangan untuk memulai debugger.
import pdb; pdb.set_trace()
Kode yang dimodifikasi dengan breakpoint:
import requests
from bs4 import BeautifulSoup
url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
titles = soup.find_all("h1")
import pdb; pdb.set_trace()
for title in titles:
print(title.text)
Ketika Anda menjalankan skrip, debugger pdb akan mulai pada breakpoint.
> /path/to/your/script.py(10)()
-> for title in titles:
(Pdb)
Perintah debugging:
Contoh sesi:
(Pdb) n
> /path/to/your/script.py(11)()
-> print(title.text)
(Pdb) p titles
[<h1>Example Domain</h1>]
(Pdb) c
Example Domain
Dengan menggunakan pdb, Anda dapat menelusuri kode Anda, memeriksa variabel, dan memahami alur eksekusi, sehingga lebih mudah untuk mengidentifikasi dan memperbaiki kesalahan.
Kesalahan interpretasi terjadi ketika prosesor tidak dapat memahami kode Anda secara komprehensif, tetapi kesalahan runtime terjadi ketika kode Anda berjalan. Pembagian nol, menyentuh larik cakupan dalam daftar, serta variabel yang tidak terdefinisi dapat menyebabkan kesalahan tersebut.
Contoh:
numbers = [1, 2, 3]
print(numbers[3])
Pesan kesalahan Python:
Memperbaiki:
Pastikan Anda mengakses indeks daftar yang valid.
print(numbers[2])
Menangani pengecualian memungkinkan program Anda untuk terus berjalan meskipun terjadi kesalahan. Gunakan blok try-except untuk menangkap dan menangani pengecualian.
Contoh:
try:
result = 10 / 0
except ZeroDivisionError:
print("You can't divide by zero!")
Memperoleh keahlian tentang kesalahan umum dan memperbaiki kesalahan dalam sintaksis Python sangat penting bagi setiap pengembang Python. Membaca pesan kesalahan Python dan melanjutkan ke perbaikan berikutnya memastikan bahwa seseorang menulis kode yang lebih baik dengan mudah, tetap berpegang teguh pada alat dan pedoman yang disarankan.
Komentar: 0