Verwenden print "a\tb"gibt mir a (8 spaces)bin der cmdon Windows. Warum werden 8 Leerzeichen anstelle des Tabulatorzeichens gedruckt?
Iulian Onofrei
Was haben Sie sonst noch erwartet?
Simone
8
Zur Anzeigea (tab character)b
Iulian Onofrei
@IulianOnofrei Ein Tabulatorzeichen ist ein nicht druckbares Zeichen, das auch als Leerzeichen bezeichnet wird. Sie sehen nichts, wenn Sie die Tabulatortaste drücken. Der Text wird nur um eine Standardanzahl von Leerzeichen verschoben. Vielleicht können Sie Zeichen einzeichnen, was Sie erscheinen möchten. Ist es ->?
Rick Henderson
4
@ RickHenderson Das stimmt nicht, ein Tabulatorzeichen besteht nicht nur aus mehreren Leerzeichen. Möglicherweise ist Ihr Editor so konfiguriert, dass beim Drücken der Tabulatortaste Leerzeichen eingefügt werden. "" ist ein Tab "" ist ein Leerzeichen. Sie können den Unterschied hier nicht sehen, aber öffnen Sie Word / Libre und Sie werden den Unterschied sehen.
Sativa
27
Das Python- Referenzhandbuch enthält mehrere Zeichenfolgenliterale, die in einer Zeichenfolge verwendet werden können. Diese speziellen Zeichenfolgen werden durch die beabsichtigte Bedeutung der Escape-Folge ersetzt.
Hier ist eine Tabelle mit einigen der nützlicheren Escape-Sequenzen und eine Beschreibung der Ausgabe von ihnen.
EscapeSequenceMeaning
\t Tab
\\ Inserts a back slash (\)
\' Inserts a single quote (')
\" Inserts a double quote (")
\n Inserts a ASCII Linefeed (a new line)
Grundlegendes Beispiel
Wenn ich einige Datenpunkte drucken wollte, die durch einen Tabulator getrennt sind, könnte ich diese Zeichenfolge drucken.
DataString="0\t12\t24"print(DataString)
Kehrt zurück
01224
Beispiel für Listen
Hier ist ein weiteres Beispiel, in dem wir die Elemente der Liste drucken und die Elemente durch eine TAB trennen möchten.
Beachten Sie, dass rohe Zeichenfolgen (eine Zeichenfolge mit dem Präfix "r") und Zeichenfolgenliterale ignoriert werden. Dadurch können diese speziellen Zeichenfolgen unverändert in Zeichenfolgen eingefügt werden.
DataString= r"0\t12\t24"print(DataString)
Kehrt zurück
0\t12\t24
Welches vielleicht eine unerwünschte Ausgabe
Stringlängen
Es ist auch zu beachten, dass Zeichenfolgenliterale nur ein Zeichen lang sind.
Da dies in keiner Antwort erwähnt wurde, können Sie die Funktionen für das Zeichenfolgenformat verwenden, nur für den Fall, dass Sie Ihren Text ausrichten und platzieren möchten. (über Python 2.5) Natürlich \thandelt es sich tatsächlich um ein TAB-Token, während die beschriebene Methode Leerzeichen generiert.
Wie gebe ich ein Tabulatorzeichen, um ein dreidimensionales Array-Element als 0 12 24 als 3 Zeilen zu drucken?
Priya Raj
Zur Antwort
hinzugefügt
0
Hier sind einige exotischere Python 3-Möglichkeiten, um "Hallo" TAB "alex" zu erhalten (getestet mit Python 3.6.10):
"hello\N{TAB}alex"
"hello\N{tab}alex"
"hello\N{TaB}alex"
"hello\N{HT}alex"
"hello\N{CHARACTER TABULATION}alex"
"hello\N{HORIZONTAL TABULATION}alex"
"hello\x09alex"
"hello\u0009alex"
"hello\U00000009alex"
Anstatt eine Escape-Sequenz zu verwenden, ist es tatsächlich möglich, ein Tabulator-Symbol direkt in das String-Literal einzufügen. Hier ist der Code mit einem Tabellierungszeichen zum Kopieren und Ausprobieren:
"hello alex"
Wenn die Registerkarte in der obigen Zeichenfolge beim Kopieren der Zeichenfolge nirgendwo verloren geht, sollte "print (repr (<Zeichenfolge von oben>)" "" Hallo \ Talex "ausgeben.
Antworten:
Dies ist der Code:
Das
\t
Innere der Zeichenfolge ist die Escape-Sequenz für die horizontale Tabelle.quelle
print "a\tb"
gibt mira (8 spaces)b
in dercmd
onWindows
. Warum werden 8 Leerzeichen anstelle des Tabulatorzeichens gedruckt?a (tab character)b
Das Python- Referenzhandbuch enthält mehrere Zeichenfolgenliterale, die in einer Zeichenfolge verwendet werden können. Diese speziellen Zeichenfolgen werden durch die beabsichtigte Bedeutung der Escape-Folge ersetzt.
Hier ist eine Tabelle mit einigen der nützlicheren Escape-Sequenzen und eine Beschreibung der Ausgabe von ihnen.
Grundlegendes Beispiel
Wenn ich einige Datenpunkte drucken wollte, die durch einen Tabulator getrennt sind, könnte ich diese Zeichenfolge drucken.
Kehrt zurück
Beispiel für Listen
Hier ist ein weiteres Beispiel, in dem wir die Elemente der Liste drucken und die Elemente durch eine TAB trennen möchten.
Kehrt zurück
Rohe Saiten
Beachten Sie, dass rohe Zeichenfolgen (eine Zeichenfolge mit dem Präfix "r") und Zeichenfolgenliterale ignoriert werden. Dadurch können diese speziellen Zeichenfolgen unverändert in Zeichenfolgen eingefügt werden.
Kehrt zurück
Welches vielleicht eine unerwünschte Ausgabe
Stringlängen
Es ist auch zu beachten, dass Zeichenfolgenliterale nur ein Zeichen lang sind.
Kehrt zurück
Die rohe Saite hat eine Länge von 9.
quelle
\t
. Wie kann ich das machen?Sie können \ t in einem Zeichenfolgenliteral verwenden:
"hello\talex"
quelle
Es ist normalerweise
\t
in Befehlszeilenschnittstellen, die das\t
Zeichen in das Leerzeichen Tabulatorzeichen konvertieren .Zum Beispiel
hello\talex
->hello--->alex
.quelle
Da dies in keiner Antwort erwähnt wurde, können Sie die Funktionen für das Zeichenfolgenformat verwenden, nur für den Fall, dass Sie Ihren Text ausrichten und platzieren möchten. (über Python 2.5) Natürlich
\t
handelt es sich tatsächlich um ein TAB-Token, während die beschriebene Methode Leerzeichen generiert.Beispiel:
Ein weiteres Beispiel, linksbündig:
quelle
Hier sind einige exotischere Python 3-Möglichkeiten, um "Hallo" TAB "alex" zu erhalten (getestet mit Python 3.6.10):
"hello\N{TAB}alex"
"hello\N{tab}alex"
"hello\N{TaB}alex"
"hello\N{HT}alex"
"hello\N{CHARACTER TABULATION}alex"
"hello\N{HORIZONTAL TABULATION}alex"
"hello\x09alex"
"hello\u0009alex"
"hello\U00000009alex"
Anstatt eine Escape-Sequenz zu verwenden, ist es tatsächlich möglich, ein Tabulator-Symbol direkt in das String-Literal einzufügen. Hier ist der Code mit einem Tabellierungszeichen zum Kopieren und Ausprobieren:
"hello alex"
Wenn die Registerkarte in der obigen Zeichenfolge beim Kopieren der Zeichenfolge nirgendwo verloren geht, sollte "print (repr (<Zeichenfolge von oben>)" "" Hallo \ Talex "ausgeben.
Weitere Informationen finden Sie in der jeweiligen Python-Dokumentation .
quelle