Jawaban untuk pertanyaan ini adalah: PEP-8 ingin membuat rekomendasi dan telah memutuskan bahwa karena ruang lebih populer, maka akan sangat merekomendasikan ruang di atas tab.
Catatan tentang PEP-8
PEP-8 mengatakan 'Gunakan 4 spasi per level indentasi.'
Jelas bahwa ini adalah rekomendasi standar.
'Untuk kode yang benar-benar lama yang tidak ingin Anda galau, Anda dapat terus menggunakan tab 8-ruang.'
Jelas bahwa ada BEBERAPA keadaan ketika tab dapat digunakan.
"Jangan pernah mencampur tab dan spasi."
Ini adalah larangan yang jelas untuk mencampurkan - saya pikir kita semua sepakat tentang ini. Python dapat mendeteksi hal ini dan sering tersedak. Menggunakan argumen -tt membuat ini kesalahan eksplisit.
'Cara indentasi Python yang paling populer adalah dengan spasi saja. Cara kedua yang paling populer adalah dengan tab saja. '
Ini dengan jelas menyatakan bahwa keduanya digunakan. Untuk menjadi sangat jelas: Anda seharusnya tidak pernah mencampur spasi dan tab dalam file yang sama.
'Untuk proyek baru, hanya spasi yang sangat disarankan di atas tab.'
Ini adalah rekomendasi yang jelas, dan yang kuat, tetapi bukan larangan tab.
Saya tidak dapat menemukan jawaban yang bagus untuk pertanyaan saya sendiri di PEP-8. Saya menggunakan tab, yang secara historis saya gunakan dalam bahasa lain. Python menerima sumber dengan penggunaan tab secara eksklusif. Itu cukup baik untukku.
Saya pikir saya harus bekerja dengan ruang. Di editor saya, saya mengonfigurasi tipe file untuk menggunakan spasi secara eksklusif dan karenanya menyisipkan 4 spasi jika saya menekan tab. Jika saya menekan tab terlalu banyak, saya harus menghapus spasi! Arrgh! Empat kali lebih banyak dari tab! Editor saya tidak dapat mengatakan bahwa saya menggunakan 4 spasi untuk indentasi (walaupun editor AN mungkin dapat melakukan ini) dan jelas bersikeras menghapus spasi satu per satu.
Tidak bisakah Python diberitahu untuk menganggap tab sebagai n spasi ketika lekukan pembacaannya? Jika kita bisa menyetujui 4 spasi per indentasi dan 4 spasi per tab dan mengizinkan Python untuk menerima ini, maka tidak akan ada masalah.
Kita harus menemukan solusi win-win untuk masalah.