Używanie print "a\tb"daje mi a (8 spaces)bmożliwość cmdwłączenia Windows. Dlaczego wypisuje 8 spacji zamiast znaku tabulacji.
Iulian Onofrei
Czego jeszcze się spodziewałeś?
Simone
8
Do wyświetleniaa (tab character)b
Iulian Onofrei
@IulianOnofrei Znak tabulacji to znak niedrukowalny, nazywany również białą spacją. Po naciśnięciu klawisza Tab nic nie widać. Po prostu przesuwa tekst o domyślną liczbę spacji. Może potrafisz narysować postacie to, co chcesz pokazać. Czy to ->?
Rick Henderson
4
@RickHenderson To nieprawda, znak tabulacji to nie tylko liczba spacji. Może Twój Edytor jest skonfigurowany do wstawiania spacji po naciśnięciu klawisza tab. „” to tabulator „” to spacja. Możesz nie widzieć różnicy tutaj, ale otwórz Word / Libre, a zobaczysz różnicę.
Sativa
27
Podręcznik referencyjny języka Python zawiera kilka literałów łańcuchowych, których można użyć w łańcuchu. Te specjalne sekwencje znaków są zastępowane zamierzonym znaczeniem sekwencji sterującej.
Oto tabela niektórych bardziej użytecznych sekwencji ucieczki i opis ich wyników.
EscapeSequenceMeaning
\t Tab
\\ Inserts a back slash (\)
\' Inserts a single quote (')
\" Inserts a double quote (")
\n Inserts a ASCII Linefeed (a new line)
Podstawowy przykład
Gdybym chciał wydrukować niektóre punkty danych oddzielone spacją tabulatora, mógłbym wydrukować ten ciąg.
DataString="0\t12\t24"print(DataString)
Zwroty
01224
Przykład list
Oto kolejny przykład, w którym drukujemy pozycje listy i chcemy podzielić pozycje za pomocą TAB.
Zwróć uwagę, że nieprzetworzone łańcuchy (ciąg zawierający przedrostek „r”), literały łańcuchowe będą ignorowane. Pozwala to na umieszczanie tych specjalnych sekwencji znaków w łańcuchach bez ich zmiany.
DataString= r"0\t12\t24"print(DataString)
Zwroty
0\t12\t24
Co może być niepożądanym wyjściem
Długości strun
Należy również zauważyć, że literały łańcuchowe mają tylko jeden znak długości.
Ponieważ nie wspomniano o tym w żadnych odpowiedziach, na wypadek, gdybyś chciał wyrównać i rozmieścić tekst, możesz użyć funkcji formatu ciągu. (powyżej pythona 2.5) Oczywiście \tfaktycznie jest to token TAB, podczas gdy opisana metoda generuje spacje.
jak nadać znak tabulacji, aby wydrukować trójwymiarowy element tablicy jako 0 12 24 jako 3 wiersze?
priya raj
Dodano do odpowiedzi
user1767754
0
Oto kilka bardziej egzotycznych sposobów w Pythonie 3 na uzyskanie „hello” TAB „alex” (testowane z Pythonem 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"
Właściwie, zamiast używać sekwencji ucieczki, można wstawić symbol tabulatora bezpośrednio do literału ciągu. Oto kod ze znakiem tabulacji do skopiowania i wypróbowania:
"hello alex"
Jeśli tabulator w powyższym ciągu nie zostanie utracony podczas kopiowania ciągu, wówczas polecenie „print (repr (<ciąg z góry>)” powinno wypisać „hello \ talex”.
Odpowiedzi:
To jest kod:
\t
Wewnątrz łańcucha jest sekwencja ucieczki dla poziomego zestawianiu.źródło
print "a\tb"
daje mia (8 spaces)b
możliwośćcmd
włączeniaWindows
. Dlaczego wypisuje 8 spacji zamiast znaku tabulacji.a (tab character)b
Podręcznik referencyjny języka Python zawiera kilka literałów łańcuchowych, których można użyć w łańcuchu. Te specjalne sekwencje znaków są zastępowane zamierzonym znaczeniem sekwencji sterującej.
Oto tabela niektórych bardziej użytecznych sekwencji ucieczki i opis ich wyników.
Podstawowy przykład
Gdybym chciał wydrukować niektóre punkty danych oddzielone spacją tabulatora, mógłbym wydrukować ten ciąg.
Zwroty
Przykład list
Oto kolejny przykład, w którym drukujemy pozycje listy i chcemy podzielić pozycje za pomocą TAB.
Zwroty
Surowe ciągi
Zwróć uwagę, że nieprzetworzone łańcuchy (ciąg zawierający przedrostek „r”), literały łańcuchowe będą ignorowane. Pozwala to na umieszczanie tych specjalnych sekwencji znaków w łańcuchach bez ich zmiany.
Zwroty
Co może być niepożądanym wyjściem
Długości strun
Należy również zauważyć, że literały łańcuchowe mają tylko jeden znak długości.
Zwroty
Surowy sznurek ma długość 9.
źródło
\t
. W jaki sposób mogę to zrobić?Możesz użyć \ t w literale ciągu:
"hello\talex"
źródło
Zwykle jest to
\t
interfejs wiersza poleceń, który przekształci znak\t
w biały znak tabulacji.Na przykład
hello\talex
->hello--->alex
.źródło
Ponieważ nie wspomniano o tym w żadnych odpowiedziach, na wypadek, gdybyś chciał wyrównać i rozmieścić tekst, możesz użyć funkcji formatu ciągu. (powyżej pythona 2.5) Oczywiście
\t
faktycznie jest to token TAB, podczas gdy opisana metoda generuje spacje.Przykład:
Inny przykład wyrównany do lewej:
źródło
Oto kilka bardziej egzotycznych sposobów w Pythonie 3 na uzyskanie „hello” TAB „alex” (testowane z Pythonem 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"
Właściwie, zamiast używać sekwencji ucieczki, można wstawić symbol tabulatora bezpośrednio do literału ciągu. Oto kod ze znakiem tabulacji do skopiowania i wypróbowania:
"hello alex"
Jeśli tabulator w powyższym ciągu nie zostanie utracony podczas kopiowania ciągu, wówczas polecenie „print (repr (<ciąg z góry>)” powinno wypisać „hello \ talex”.
Widzieć odpowiednią dokumentację Pythona w celu uzyskania informacji.
źródło