Kesalahan Indentasi di Python: Penyebab, Cara Mengatasi, Manfaat
Diterbitkan: 2021-05-26Sebagai bahasa pemrograman tingkat tinggi dan tujuan umum yang ditafsirkan, Python semakin mendapatkan penghargaan sebagai platform dunia pemrograman yang paling menjanjikan, terkemuka dan baru muncul. Python bukanlah apa-apa tanpa filosofi desainnya yang cerdik.
Karakteristik utama adalah penekanan pada penggunaan lekukan yang signifikan untuk meningkatkan keterbacaan kode. Ilustrasi yang disorot di bawah ini secara singkat menguraikan benteng filosofi desain Python sebagai dua puluh kata-kata mutiara, disinggung oleh Tim Peters, Pythoneer jangka panjang, yang akhirnya menjadi salah satu pengembang inti Python yang paling produktif dan ulet.
Daftar isi
Pengantar Singkat tentang Python
Sebelum kita mempelajari teknis spesifik yang mendasari kesalahan indentasi di Python, kita harus mengenal dasar-dasar Python dan kebutuhan akan indentasi. Melakukannya tidak hanya akan membantu Anda mendapatkan apresiasi yang lebih baik dari kesalahan itu sendiri, tetapi juga menawarkan wawasan tentang keuntungan yang diperoleh programmer dengan memilih untuk menyelesaikannya secara efektif.
Awal mula Python sebagai bahasa pemrograman multi-paradigma dapat ditelusuri kembali ke tahun 1991. Sejak itu, pemrogram terus-menerus mengadaptasi kerangka inti Python agar sesuai dengan berbagai kebutuhan spesifik pengguna, seperti ilmu data dan pengembangan web dan seluler.
Sekarang, kita semua tahu bahwa mencoba memahami tulisan tangan yang tidak terbaca sangatlah rumit dan sering kali menyebalkan. Demikian pula, kode yang tidak dapat dibaca dan tidak terstruktur jelas dan sederhana, tidak dapat diterima di dunia pemrograman. Di sinilah gagasan PEP atau Python Enhancement Proposal datang untuk menyelamatkan programmer. PEP ke Komunitas Python mirip dengan Google Doc yang dibagikan untuk masyarakat umum.
Ini adalah mandat deskriptif yang terus diperbarui yang membuat komunitas pemrograman Python mendapat informasi lengkap tentang fitur dan pembaruan untuk meningkatkan keterbacaan kode. Oleh Guido van Rossum, Barry Warsaw dan Nick Coghlan pada tahun 2001, PEP 8 disebut sebagai kode gaya Python.
Apa itu Indentasi?
Terutama diketahui bahwa Python adalah bahasa prosedural, dan oleh karena itu, lekukan dalam Python digunakan untuk memisahkan kode tunggal ke dalam kelompok yang dapat diidentifikasi dari pernyataan yang serupa secara fungsional. Sebagian besar bahasa pemrograman, termasuk C, C++ dan JAVA, menggunakan '{}' kurung kurawal untuk mendefinisikan blok kode. Python menandai penyimpangan dari desain ini dan lebih memilih penggunaan lekukan.
Sintaks Indentasi
Menurut konvensi yang digariskan oleh etika spasi putih PEP 8, setiap iterasi baru (yaitu, blok kode) harus dimulai dengan lekukan, dan akhir kode harus menjadi baris pertama yang tidak menjorok. Praktik umum untuk mengeksekusi lekukan adalah empat spasi putih atau satu karakter tab, dengan area yang lebih disukai daripada tab.
Seperti yang telah dibahas sebelumnya, spasi putih di awal baris menentukan tingkat lekukan baris. Untuk mengelompokkan pernyataan untuk blok kode tertentu, Anda harus meningkatkan level indentasi. Demikian pula, untuk menutup pengelompokan, Anda harus mengurangi level indentasi.
Lihat: 42 Topik & Ide Proyek Python yang Menyenangkan
Penyebab Kesalahan Indentasi di Python
'Kesalahan Indentasi: Diharapkan blok indentasi' tidak membedakan antara pengguna. Apakah Anda seorang pemula di pemrograman Python atau pengembang perangkat lunak berpengalaman, ini pasti akan terjadi di beberapa titik waktu. Dalam Python, karena semua kode yang Anda ketik diatur melalui spasi putih yang benar, jika ada contoh dalam kode, Anda memiliki lekukan yang salah, kode keseluruhan tidak berjalan, dan penerjemah akan mengembalikan fungsi kesalahan. Untuk mengetahui dengan tepat apa yang harus diperhatikan, berikut ini daftar beberapa penyebab umum kesalahan indentasi di Python:
1. Penggunaan tab dan spasi secara bersamaan saat coding. Dapat dikatakan bahwa secara teori, baik tab maupun spasi memiliki tujuan yang sama, tetapi mari kita pertimbangkan hal ini dari sudut pandang penafsir. Jika spasi dan tab putih digunakan secara tidak konsisten dan bergantian, itu menciptakan ambiguitas. Ini akan menyebabkan penerjemah menjadi bingung antara perubahan mana yang akan digunakan dan akhirnya mengembalikan kesalahan lekukan di Python.
2. Anda secara tidak sengaja menempatkan lekukan di tempat yang salah atau tidak adanya tab atau spasi putih di antara baris kode. Karena Python mematuhi pedoman ketat untuk mengatur kode tertulis, lekukan di tempat yang salah pasti akan mengembalikan kesalahan. Misalnya, baris pertama Python tidak boleh menjorok.
3. Kadang-kadang, saat menyelesaikan program yang sangat lama dan terlambat, Anda mungkin secara tidak sadar kehilangan indentasi fungsi pernyataan majemuk seperti for, while dan if. Ini lagi akan menyebabkan kesalahan indentasi. Ini adalah kebutuhan paling dasar untuk lekukan saat menggunakan Python dan perlu dipraktikkan secara ketat untuk dikuasai.
4. Jika Anda lupa menggunakan lekukan saat bekerja dengan fungsi yang ditentukan pengguna atau kelas yang berbeda, kesalahan mungkin akan muncul.
Bagaimana cara mengatasi kesalahan lekukan dengan Python?
1. Periksa spasi atau tab yang salah. Sayangnya, tidak ada perbaikan cepat untuk kesalahan indentasi. Karena kode adalah milik Anda, faktanya tetap bahwa Anda harus menilai setiap baris untuk mengidentifikasi contoh yang salah satu per satu. Namun, karena baris kode disusun dalam blok, prosesnya relatif sederhana. Misalnya, jika Anda telah menggunakan pernyataan 'jika' dalam urutan tertentu, Anda dapat memeriksa silang apakah Anda ingat untuk membuat indentasi baris berikut.
2. Pastikan bahwa lekukan untuk blok tertentu tetap sama di seluruh kode, bahkan jika blok baru dimasukkan di tengah. Periksa inkonsistensi dalam lekukan.
Jika solusi manual di atas tidak berhasil untuk Anda, dan Anda mengalami kesulitan mencari tahu di mana Anda melewatkan lekukan, ikuti langkah-langkah berikut:
3. Buka pengaturan editor kode Anda dan aktifkan opsi yang berupaya menampilkan tab dan spasi putih. Dengan mengaktifkan fitur ini, Anda akan melihat satu titik kecil, di mana setiap titik mewakili tab/spasi putih. Jika Anda melihat setetes hilang di tempat yang tidak seharusnya, maka baris itu mungkin memiliki kesalahan lekukan.
4. Gunakan Panduan Indentasi bawaan juru bahasa Python. Bisa dibilang, metode ini sangat tidak efisien untuk beberapa baris kode. Namun, karena ini membawa Anda melalui setiap baris dan menunjukkan dengan tepat di mana letak kesalahan Anda, ini adalah cara paling pasti untuk menemukan dan memperbaiki semua kesalahan.
Baca Juga: 12 Aplikasi Python yang Menarik di Dunia Nyata
Manfaat Indentasi
Keterbacaan dan konsistensi sangat penting untuk setiap kode yang baik. Mengikuti spasi putih PEP 8, etika seharusnya tidak dapat dinegosiasikan. Ini secara logis memperkuat kode Anda, sehingga berkontribusi pada pengalaman pengkodean yang lebih menyenangkan. Selain itu, jika Anda mengikuti pedoman gaya ini di mana keterbacaan adalah de facto Anda, orang-orang yang tidak Anda kenal, tetapi tertarik dengan pekerjaan Anda, akan memahami kode Anda dengan mudah.
Kekurangan Indentasi
- Jika kodenya besar dan lekukannya rusak, mungkin akan membosankan untuk memperbaiki kesalahan lekukan. Ini biasanya ketika kode disalin dari sumber online, dokumen Word atau file PDF.
- Bahasa pemrograman populer biasanya menggunakan kurung kurawal untuk lekukan. Untuk programmer yang baru mulai menggunakan Python, menyesuaikan dengan ide menggunakan spasi putih untuk indentasi bisa jadi sulit.
Menyimpulkan
Semua yang ada di antara Anda dan kode yang ditulis dengan baik adalah lekukan, dan semua yang ada di antara Anda, kode yang ditulis dengan baik dan eksekusi mulusnya adalah kesalahan lekukan. Sekarang, semua manusia melakukan kesalahan. Semua programmer adalah manusia. Oleh karena itu, semua programmer membuat kesalahan. Tetapi kesalahan indentasi dapat dengan mudah diselesaikan. Yang perlu Anda lakukan hanyalah bernapas dan mengambil ruang Anda.
Saya harap Anda akan belajar banyak saat mengerjakan proyek python ini. Jika Anda ingin tahu tentang belajar ilmu data untuk berada di depan kemajuan teknologi yang bergerak cepat, lihat Program PG Eksekutif upGrad & IIIT-B dalam Ilmu Data dan tingkatkan diri Anda untuk masa depan.
Python menentukan kapan blok kode dimulai dan dihentikan dengan melihat spasi di awal baris. Anda mungkin mengalami kesalahan lekukan berikut: Tab dan spasi adalah dua karakter terpisah yang muncul di layar sebagai spasi. Masalahnya adalah tidak ada konsensus tentang seberapa besar karakter tab seharusnya, sehingga beberapa editor menampilkannya sebagai mengambil 8 spasi, yang lain sebagai 4 spasi, dan lainnya sebagai 2, dan itu juga dapat disesuaikan. Pilih kode Anda dan tekan Tab atau Shift + Tab untuk membuat indentasi atau un-indent. Alat lain untuk mengubah kode Anda dapat ditemukan di bagian Edit.Kesalahan apa yang bisa saya dapatkan karena lekukan di Python?
1. Indentasi tak terduga - Baris kode ini memiliki lebih banyak spasi di awal daripada yang sebelumnya, tetapi baris sebelumnya tidak memulai subblok. Dalam sebuah blok, semua baris kode harus dimulai dengan string spasi yang sama.
2. Penghapusan indentasi tidak sesuai dengan level lekukan luar mana pun - Baris kode ini berisi lebih sedikit spasi di awal daripada yang sebelumnya, tetapi juga tidak cocok dengan blok lainnya.
3. Sebuah blok indentasi diharapkan - baris kode ini dimulai dengan jumlah spasi yang sama seperti sebelumnya, namun baris sebelumnya seharusnya memulai blok (misalnya, jika/sementara/untuk pernyataan, definisi fungsi). Bagaimana Anda memperbaiki tab dan spasi yang tidak konsisten di lekukan Spyder?
Ketika Anda membuat kode tetapi satu baris diindentasi dengan tab dan yang lainnya dengan spasi, Python menimbulkan kesalahan, meskipun faktanya tampaknya bagus di editor (tetapi tidak akan terlihat baik jika Anda menggandakan lebar tab; sekarang garis tab akan menjorok dua tingkat).
Untuk menghindari masalah ini, buka opsi editor teks Anda dan aktifkan fitur konversi tab ke spasi , yang menggantikan karakter tab dengan n karakter spasi, di mana n adalah lebar tab yang digunakan editor Anda. Bagaimana Anda menunjukkan indentasi di Spyder?