Die Antwort auf die Frage lautet: PEP-8 möchte eine Empfehlung aussprechen und hat entschieden, dass Leerzeichen über Tabulatoren dringend empfohlen werden, da Leerzeichen beliebter sind.
Hinweise zu PEP-8
In PEP-8 heißt es: "Verwenden Sie 4 Leerzeichen pro Einrückungsstufe."
Es ist klar, dass dies die Standardempfehlung ist.
"Für wirklich alten Code, den Sie nicht durcheinander bringen möchten, können Sie weiterhin Tabulatoren mit 8 Leerzeichen verwenden."
Es ist klar, dass es einige Umstände gibt, unter denen Registerkarten verwendet werden können.
"Mischen Sie niemals Tabulatoren und Leerzeichen."
Dies ist ein klares Verbot des Mischens - ich denke, wir sind uns alle einig. Python kann dies erkennen und erstickt häufig. Die Verwendung des Arguments -tt macht dies zu einem expliziten Fehler.
'Die beliebteste Art, Python einzurücken, ist die Verwendung von Leerzeichen. Der zweitbeliebteste Weg ist nur mit Registerkarten. '
Dies zeigt deutlich, dass beide verwendet werden. Nur um ganz klar zu sein: Sie sollten niemals Leerzeichen und Tabulatoren in derselben Datei mischen.
"Für neue Projekte wird empfohlen, nur Leerzeichen über Registerkarten zu verwenden."
Dies ist eine klare und starke Empfehlung, aber kein Verbot von Tabs.
Ich kann in PEP-8 keine gute Antwort auf meine eigene Frage finden. Ich verwende Registerkarten, die ich historisch in anderen Sprachen verwendet habe. Python akzeptiert Quellen unter ausschließlicher Verwendung von Registerkarten. Das ist gut genug für mich.
Ich dachte, ich würde versuchen, mit Räumen zu arbeiten. In meinem Editor habe ich einen Dateityp so konfiguriert, dass ausschließlich Leerzeichen verwendet werden. Wenn ich die Tabulatortaste drücke, werden 4 Leerzeichen eingefügt. Wenn ich zu oft die Tabulatortaste drücke, muss ich die Leerzeichen löschen! Arrgh! Viermal so viele Löschungen wie Tabs! Mein Editor kann nicht sagen, dass ich 4 Leerzeichen für Einrückungen verwende (obwohl ein AN-Editor dies möglicherweise kann) und besteht offensichtlich darauf, die Leerzeichen einzeln zu löschen.
Könnte Python nicht angewiesen werden, Tabulatoren beim Lesen von Einrückungen als n Leerzeichen zu betrachten? Wenn wir uns auf 4 Leerzeichen pro Einzug und 4 Leerzeichen pro Tab einigen und Python erlauben könnten, dies zu akzeptieren, gäbe es keine Probleme.
Wir sollten Win-Win-Lösungen für Probleme finden.