Lekukan adalah fitur penting dari kode yang dapat dibaca dan dipelihara, tetapi hanya sedikit bahasa yang menerapkannya. Python adalah salah satu dari sedikit itu.
Jika Python menentukan indentasi kode Anda salah, Anda akan melihat pesan "IndentationError" saat menjalankan kode. Tetapi bagaimana Anda memperbaikinya, dan bagaimana Anda mencegahnya di masa depan?
Mengapa Anda Mendapatkan IndentationError dengan Python?
Kesalahan "IndentationError: mengharapkan blok indentasi" adalah sesuatu yang mungkin Anda lihat saat pertama kali mulai menggunakan Python, terutama jika Anda berasal dari bahasa pemrograman lain.
Itu spesifikasi aturan lekukan Python rumit, tetapi mereka bermuara pada satu hal: kode indentasi dalam blok. Ini berlaku untuk fungsi, klausa if, dan seterusnya. Berikut adalah contoh kode Python yang salah formatnya:
nama f = "Gaurav"
lname = "Siyal"
jika fname == "Gaurav" dan lname == "Siyal":
print("Anda Gaurav")
lain:
print("Kamu adalah orang lain")
Saat Anda mencoba menjalankan kode di atas, Anda akan mendapatkan pesan seperti ini:
File "tmp.py", baris 5
print("Anda Gaurav")
^
IndentationError: mengharapkan blok indentasi
Sebagai gantinya, Anda harus menambahkan tab atau serangkaian spasi di awal dua baris yang mewakili blok:
nama f = "Gaurav"
lname = "Siyal"
jika fname == "Gaurav" dan lname == "Siyal":
print("Anda Gaurav")
lain:
print("Kamu adalah orang lain")
Jika Anda membuat indentasi dengan spasi, Anda sebenarnya dapat menggunakan nomor apa pun yang Anda suka, selama Anda konsisten dan tidak ambigu. Kebanyakan programmer menggunakan dua, empat, atau delapan spasi.
Kasus Umum Indentasi yang Benar
Berikut adalah beberapa contoh yang dapat Anda rujuk, sehingga Anda dapat memastikan bahwa Anda membuat indentasi dengan benar.
Jika pernyataan
Indentasi blok yang mengikuti an jika penyataan:
jika nama_saya == "Gaurav":
print("Nama saya Gaurav")
kembali Benar
Fungsi
Tubuh suatu fungsi adalah sebuah blok. Anda harus membuat indentasi seluruh blok ini:
def magic_number():
hasil = 42
hasil kembali
cetak angka_ajaib()
Untuk Loop
Seperti pernyataan if, badan perulangan for harus diindentasi satu tingkat lebih dari garis yang dimulai dengan untuk kata kunci:
untuk saya dalam kisaran (10):
cetak (i)
Pastikan Editor Indentasi Anda Benar
Kebanyakan editor teks modern mendukung indentasi kode otomatis. Jika editor Anda menentukan bahwa baris kode harus diindentasi, itu akan menambahkan tab atau spasi secara otomatis.
Di dalam laba laba, opsi lekukan tersedia di bawah Alat > Preferensi > Kode sumber:
Jika Anda menggunakan vim, Anda bisa edit konfigurasi Anda dan gunakan autoindent dan opsi terkait untuk mengonfigurasi lekukan. Misalnya, berikut adalah pengaturan umum:
atur indentasi otomatis
atur tab perluas
setel tabstop = 4
setel softtabstop = 4
setel lebar geser = 4
Ini akan secara otomatis indent menggunakan empat spasi.
Namun, tidak ada editor yang dapat membuat lekukan otomatis antipeluru. Anda masih perlu memperhatikan indentasi karena beberapa kasus ambigu:
Dalam contoh ini, final kembali pernyataan diindentasi satu tingkat dari tanda tangan fungsi pada baris pertama. Namun, jika Anda menempatkan kursor di akhir baris kedua dari belakang dan tekan Memasuki, salah satu dari dua hal mungkin terjadi. Editor Anda dapat memposisikan kursor:
- Dua level indentasi, sejajar dengan "res =..."
- Satu tingkat indentasi, sejajar dengan "lain:"
Editor Anda tidak dapat membedakan antara dua kasus ini: Anda mungkin ingin menambahkan lebih banyak kode di blok if/else, atau tidak.
Menangani Kesalahan 'Diharapkan Blok Indentasi' Python
Kesalahan adalah kejadian sehari-hari di Python, sama seperti dalam bahasa pemrograman lainnya. Aturan ketat Python tentang lekukan dapat menambahkan jenis kesalahan baru untuk dipikirkan, tetapi mereka berguna. Kode yang diindentasi dengan benar lebih mudah dibaca dan konsisten di seluruh tim.
Kesalahan lekukan bukan satu-satunya yang harus Anda tangani. Akan membantu untuk mengetahui kesalahan umum Python sehingga Anda tahu cara men-debugnya dan apa yang harus dilakukan untuk memperbaikinya.
Apa Arti Kesalahan "Daftar indeks di luar jangkauan" Python?
Baca Selanjutnya
Topik-topik terkait
- Pemrograman
- Python
Tentang Penulis
Gaurav Siyal memiliki dua tahun pengalaman menulis, menulis untuk serangkaian perusahaan pemasaran digital dan dokumen siklus hidup perangkat lunak.
Berlangganan newsletter kami
Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!
Klik di sini untuk berlangganan