Ответ на вопрос: PEP-8 хочет дать рекомендацию и решил, что, поскольку пробелы более популярны, он настоятельно рекомендует пробелы над вкладками.
Примечания к ПКП-8
PEP-8 говорит: «Используйте 4 пробела на уровень отступа».
Понятно, что это стандартная рекомендация.
«Для действительно старого кода, который вы не хотите портить, вы можете продолжать использовать вкладки с 8 пробелами».
Понятно, что есть НЕКОТОРЫЕ обстоятельства, когда можно использовать вкладки.
«Никогда не смешивайте табуляции и пробелы».
Это явный запрет на смешивание - я думаю, что мы все согласны с этим. Python может обнаружить это и часто задыхается. Использование аргумента -tt делает это явной ошибкой.
«Самый популярный способ сделать отступ в Python - использовать только пробелы. Второй по популярности способ - только с вкладками ».
Это ясно заявляет, что оба используются. Просто чтобы быть ультрачистым: вы никогда не должны смешивать пробелы и табуляции в одном файле.
«Для новых проектов настоятельно рекомендуется использовать пробелы поверх вкладок».
Это четкая и сильная рекомендация, но не запрещение вкладок.
Я не могу найти хороший ответ на свой вопрос в PEP-8. Я использую вкладки, которые я исторически использовал на других языках. Python принимает исходный код с эксклюзивным использованием вкладок. Это достаточно хорошо для меня.
Я думал, что я хотел бы поработать с пробелами. В моем редакторе я сконфигурировал тип файла для использования исключительно пробелов, поэтому он вставляет 4 пробела, если я нажимаю клавишу Tab. Если я нажимаю клавишу Tab слишком много раз, я должен удалить пробелы! Arrgh! Удаляет в четыре раза больше вкладок! Мой редактор не может сказать, что я использую 4 пробела для отступов (хотя редактор AN мог бы сделать это) и, очевидно, настаивает на удалении пробелов по одному.
Нельзя ли было сказать, что Python должен рассматривать табуляцию как n пробелов при чтении отступов? Если бы мы могли договориться о 4 пробелах на отступ и 4 пробела на табуляцию и позволить Python принять это, то проблем не было бы.
Мы должны найти беспроигрышные решения проблем.