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