Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Indentasi Python yang Salah Membawa kepada Ralat?
Mengapa Lekukan Penting?
Python bergantung pada lekukan untuk menandai blok kod, tidak seperti bahasa lain seperti Java atau Javascript yang menggunakan pendakap kerinting { } untuk tujuan ini. Akibatnya, pengguna Python mesti berwaspada tentang lekukan, kerana satu ruang pun boleh menyebabkan ralat. Pelanggaran peraturan lekukan mengakibatkan sama ada pengecualian IndentationError atau TabError.
Garis Panduan Lekukan
Peraturan asas untuk lekukan Python ialah: Setiap pernyataan dalam blok asas mesti diinden dengan jumlah yang sama. Walaupun
PEP8 - panduan gaya Python - mengesyorkan menggunakan 4 ruang setiap tahap lekukan, Python membenarkan tab sebagai lekukan. Walau bagaimanapun, jangan sekali-kali menggunakan kedua-dua tab dan ruang untuk lekukan kerana berbuat demikian hampir pasti akan mengakibatkan ralat lekukan.
IndentationError: indent tidak dijangka
Ini ralat menunjukkan bahawa pernyataan tidak perlu diinden atau tidak mematuhi corak lekukan sebelumnya penyata dalam blok yang sama.
IndentationError: menjangkakan blok inden
Python menjangka blok inden selepas menemui pernyataan majmuk tertentu (cth., jika atau sementara) tetapi gagal untuk cari satu. Ralat ini juga mungkin berlaku dengan SyntaxError: EOF yang tidak dijangka.
IndentationError: unindent tidak sepadan dengan mana-mana tahap indent luar
Ralat ini dicetuskan apabila anda mengalih keluar indent di lokasi yang tidak sesuai, menyebabkan ketidakselarasan dengan lekukan yang lain kenyataan.
TabError: penggunaan tab dan ruang yang tidak konsisten dalam lekukan
Python melarang mencampurkan tab dan ruang untuk lekukan. Pantang larang ini dilanjutkan kepada pernyataan yang kelihatan sejajar secara visual tetapi mempunyai lekukan yang tidak konsisten kerana tab dan ruang bercampur. Python sama ada akan menaikkan TabError atau IndentationError apabila ia mengesan ketidakkonsistenan tersebut. Untuk menyelesaikan isu ini, tukar semua lekukan kepada ruang menggunakan alatan automatik seperti autopep8 atau inden semula kod secara manual.
SyntaxError Due to Indentation
Malah pengecualian SyntaxError kadangkala boleh dikesan kembali kepada isu lekukan. Sebagai contoh, jika kenyataan tersilap diletakkan di luar blok yang dimaksudkan, Python mungkin menimbulkan SyntaxError. Penyelesaiannya adalah dengan menginden semula kod dengan teliti untuk mencerminkan struktur yang dimaksudkan.
Atas ialah kandungan terperinci Mengapa Indentasi Python yang Salah Membawa kepada Ralat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!