Odpowiedź na pytanie brzmi: PEP-8 chce udzielić rekomendacji i zdecydował, że skoro spacje są bardziej popularne, zdecydowanie zaleci spacje nad tabulatorami.
Uwagi dotyczące PEP-8
PEP-8 mówi: „Użyj 4 spacji na poziom wcięcia”.
Jest jasne, że jest to standardowe zalecenie.
„W przypadku naprawdę starego kodu, którego nie chcesz zepsuć, możesz nadal używać tabulatorów z 8 spacjami”.
Oczywiste jest, że istnieją NIEKTÓRE okoliczności, w których można używać zakładek.
„Nigdy nie mieszaj tabulatorów i spacji”.
To wyraźny zakaz mieszania - myślę, że wszyscy się z tym zgadzamy. Python może to wykryć i często się dusi. Użycie argumentu -tt powoduje, że jest to jawny błąd.
„Najpopularniejszym sposobem tworzenia wcięć w Pythonie są tylko spacje. Drugim najpopularniejszym sposobem są tylko zakładki ”.
To wyraźnie stwierdza, że oba są używane. Dla jasności: nadal nigdy nie należy mieszać spacji i tabulatorów w tym samym pliku.
„W przypadku nowych projektów zdecydowanie zaleca się umieszczanie samych spacji nad tabulatorami”.
To wyraźne zalecenie i mocne, ale nie zakaz używania tabletek.
Nie mogę znaleźć dobrej odpowiedzi na własne pytanie w PEP-8. Używam zakładek, których wcześniej używałem w innych językach. Python akceptuje źródła z wyłącznym użyciem zakładek. To mi wystarczy.
Pomyślałem, że spróbuję pracować z przestrzeniami. W moim edytorze skonfigurowałem typ pliku tak, aby używał wyłącznie spacji, więc wstawia 4 spacje po naciśnięciu klawisza Tab. Jeśli naciskam tabulację zbyt wiele razy, muszę usunąć spacje! Arrgh! Cztery razy więcej usunięć niż zakładek! Mój redaktor nie może powiedzieć, że używam 4 spacji dla wcięć (chociaż edytor AN może to zrobić) i oczywiście nalega na usuwanie spacji pojedynczo.
Czy nie można powiedzieć Pythonowi, aby rozważał tabulatory jako n spacji, gdy jego wcięcia odczytu? Gdybyśmy mogli uzgodnić 4 spacje na wcięcie i 4 spacje na tabulator i pozwolić Pythonowi to zaakceptować, nie byłoby problemów.
Powinniśmy znaleźć rozwiązania problemów korzystne dla wszystkich.