Fix: Kesalahan Indentasi Python

Python adalah bahasa pemrograman baru yang pertama kali dirilis pada tahun 1991. Bahasa ini dikenal dengan pustaka lengkapnya yang besar dan mendukung beberapa paradigma pemrograman seperti fungsional, imperatif, prosedural, dan berorientasi objek.

Kesalahan Indentasi Python saat pengkodean

' Kesalahan Indentasi: Diharapkan blok berlekuk ' terjadi untuk semua jenis pengguna; apakah mereka pemula atau berpengalaman. Karena Python mengatur semua kodenya dengan spasi yang benar, jika Anda memiliki lekukan yang buruk, kode tidak akan dikompilasi dan Anda akan dikembalikan ke pesan kesalahan.

Menurut konvensi yang diikuti dalam PEP8, harus ada empat spasi jika diperlukan. Sangat ideal bagi setiap programmer untuk menggunakan lekukan yang tepat sehingga keterbacaan kode meningkat.

Apa yang menyebabkan Kesalahan Indentasi di Python?

Seperti yang disebutkan sebelumnya, kesalahan ini terutama terjadi karena ada kesalahan spasi atau tab dalam kode Anda. Karena Python menggunakan bahasa prosedural, Anda mungkin mengalami kesalahan ini jika Anda belum menempatkan tab / spasi dengan benar. Program dapat berjalan dengan baik tetapi jika juru bahasa menemukan kesalahan ini, pesan kesalahan akan muncul di tengah. Beberapa penyebab error tersebut adalah:

  • Anda menggunakan spasi dan tab dalam kode Anda. Jika keduanya digunakan secara bergantian, penerjemah tidak akan dapat menentukan item mana yang akan digunakan.
  • Anda salah menempatkan indentasi . Jika praktik indentasi tidak diikuti, Anda pasti akan mengalami kesalahan ini.
  • Anda lupa memasukkan pernyataan gabungan seperti 'if', 'for', 'while' dll.
  • Anda lupa mengindentasi fungsi atau kelas yang ditentukan pengguna .

Solusi 1: Memeriksa ruang / tab putih yang salah

Tidak ada perbaikan instan untuk masalah ini. Karena kode itu milik Anda, Anda harus menelusuri setiap baris dan melihat di mana Anda membuat kesalahan. Ada beberapa blok dalam kode sehubungan dengan strukturnya. Jika ada pernyataan 'Jika', perlu ada lekukan ke kode yang mengikutinya.

Struktur blok memvisualisasikan lekukan dengan Python

Lihat diagram di atas. Lihat bahwa indentasi untuk blok tertentu tetap sama di seluruh kode meskipun blok baru dimasukkan di tengah. Pastikan lekukan Anda konsisten. Jika Anda menggunakan spasi, selalu gunakan spasi dan jika Anda menggunakan tab, selalu gunakan tab. Pencampuran keduanya akan menyebabkan masalah.

Contoh indentasi dengan Python

Indentasi yang benar ditunjukkan pada contoh di atas. Lihat loop 'untuk' sebagai permulaan. Semua yang ada di dalam loop 'for' harus diberi indentasi. Di dalam loop 'for', kami memiliki pernyataan 'if'. Di dalam pernyataan 'jika', semuanya harus menjorok lebih jauh .

Anda dapat dengan mudah memeriksa di mana kesalahan indentasi terjadi dengan memeriksa log kesalahan dan melihat baris dari mana kesalahan itu berasal.

Solusi 2: Mengaktifkan simbol tab / spasi di editor

Jika Anda mengalami kesulitan memasukkan kode dengan 'tebak' seperti yang dilakukan semua programmer, Anda dapat mengaktifkan simbol tab / spasi di IDE atau editor kode Anda. Opsi ini akan mengaktifkan 'titik' kecil di kode Anda di mana setiap titik mewakili spasi atau tab. Anda dapat menggunakan ini untuk mengindentasi kode dengan lebih tepat dan memastikan tidak ada indentasi tambahan atau ada yang hilang.

Dalam contoh ini, kami akan mengambil Notepad ++ dan melihat bagaimana Anda dapat mengaktifkan simbol. Jika Anda menggunakan perangkat lunak lain untuk mengedit kode, Anda dapat mengaktifkan pengaturan khusus untuk itu.

  1. Tekan Tampilan> Tampilkan Simbol> Tampilkan Spasi Putih dan TABMengaktifkan Whitespace dan Tab dengan Python
  1. Sekarang opsi diaktifkan. Anda juga dapat mengaktifkan Panduan Inden sehingga segalanya menjadi lebih mudah bagi Anda.
Kode contoh dengan indentasi yang benar dengan Python

Lihat contoh di atas. Lihat lekukan yang diterapkan setelah setiap kelas. Setiap ruang diwakili oleh satu titik. Setelah membuat perubahan pada indentasi yang salah pada kode Anda, jalankan kembali dan lihat apakah ini menyelesaikan masalah.