Usando print "a\tb"me dá a (8 spaces)bna cmdna Windows. Por que está imprimindo 8 espaços em vez do caractere de tabulação.
Iulian Onofrei 15/03/2015
O que mais você estava esperando?
Simone
8
Para exibira (tab character)b
Iulian Onofrei 16/03/2015
@IulianOnofrei Um caractere de tabulação é um caractere não imprimível, também conhecido como espaço em branco. Você não vê nada quando pressiona a tecla Tab. Apenas move o texto por um número padrão de espaços. Talvez você possa desenhar nos caracteres o que deseja que apareça. É ->?
Rick Henderson
4
@ RickHenderson Isso não é verdade, um caractere de tabulação não é apenas um número de espaços. Talvez o seu editor esteja configurado para inserir espaços ao pressionar a tecla tab. "" é uma guia "" é um espaço. Você pode não ver a diferença aqui, mas abra o Word / Libre e você verá a diferença.
Sativa
27
O manual de referência do Python inclui vários literais de string que podem ser usados em uma string. Essas seqüências especiais de caracteres são substituídas pelo significado pretendido da sequência de escape.
Aqui está uma tabela de algumas das seqüências de escape mais úteis e uma descrição da saída delas.
EscapeSequenceMeaning
\t Tab
\\ Inserts a back slash (\)
\' Inserts a single quote (')
\" Inserts a double quote (")
\n Inserts a ASCII Linefeed (a new line)
Exemplo básico
Se eu quisesse imprimir alguns pontos de dados separados por um espaço de tabulação, eu poderia imprimir essa string.
DataString="0\t12\t24"print(DataString)
Devoluções
01224
Exemplo para listas
Aqui está outro exemplo em que estamos imprimindo os itens da lista e queremos separar os itens por uma TAB.
Observe que cadeias brutas (uma cadeia que inclui um prefixo "r"), literais de cadeia serão ignoradas. Isso permite que essas seqüências especiais de caracteres sejam incluídas nas seqüências de caracteres sem serem alteradas.
DataString= r"0\t12\t24"print(DataString)
Devoluções
0\t12\t24
Que talvez uma saída indesejada
Comprimento das cordas
Também deve ser observado que os literais de string têm apenas um caractere de comprimento.
Como não foi mencionado em nenhuma resposta, caso deseje alinhar e espaçar seu texto, você pode usar os recursos de formato de sequência. (acima do python 2.5) É claro que, \tna verdade, é um token TAB, enquanto o método descrito gera espaços.
como dar o caractere de tabulação para imprimir o elemento da matriz tridimensional como 0 12 24 como 3 linhas?
priya raj
Adicionado à resposta
user1767754
0
Aqui estão algumas maneiras mais exóticas do Python 3 de obter "olá" TAB "alex" (testado com o 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"
Na verdade, em vez de usar uma sequência de escape, é possível inserir o símbolo da tabulação diretamente na string literal. Aqui está o código com um caractere de tabulação para copiar e tentar:
"hello alex"
Se a guia na string acima não for perdida em nenhum lugar durante a cópia da string, "print (repr (<string from above>)" deve imprimir 'hello \ talex'.
Respostas:
Este é o código:
O
\t
interior da string é a sequência de escape para a tabulação horizontal.fonte
print "a\tb"
me dáa (8 spaces)b
nacmd
naWindows
. Por que está imprimindo 8 espaços em vez do caractere de tabulação.a (tab character)b
O manual de referência do Python inclui vários literais de string que podem ser usados em uma string. Essas seqüências especiais de caracteres são substituídas pelo significado pretendido da sequência de escape.
Aqui está uma tabela de algumas das seqüências de escape mais úteis e uma descrição da saída delas.
Exemplo básico
Se eu quisesse imprimir alguns pontos de dados separados por um espaço de tabulação, eu poderia imprimir essa string.
Devoluções
Exemplo para listas
Aqui está outro exemplo em que estamos imprimindo os itens da lista e queremos separar os itens por uma TAB.
Devoluções
Raw Strings
Observe que cadeias brutas (uma cadeia que inclui um prefixo "r"), literais de cadeia serão ignoradas. Isso permite que essas seqüências especiais de caracteres sejam incluídas nas seqüências de caracteres sem serem alteradas.
Devoluções
Que talvez uma saída indesejada
Comprimento das cordas
Também deve ser observado que os literais de string têm apenas um caractere de comprimento.
Devoluções
A cadeia bruta tem um comprimento de 9.
fonte
\t
. Como posso fazer isso?Você pode usar \ t em uma string literal:
"hello\talex"
fonte
Geralmente é
\t
em interfaces de linha de comando, que convertem o caractere\t
no caractere de tabulação de espaço em branco.Por exemplo,
hello\talex
->hello--->alex
.fonte
Como não foi mencionado em nenhuma resposta, caso deseje alinhar e espaçar seu texto, você pode usar os recursos de formato de sequência. (acima do python 2.5) É claro que,
\t
na verdade, é um token TAB, enquanto o método descrito gera espaços.Exemplo:
Outro exemplo, alinhado à esquerda:
fonte
Aqui estão algumas maneiras mais exóticas do Python 3 de obter "olá" TAB "alex" (testado com o 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"
Na verdade, em vez de usar uma sequência de escape, é possível inserir o símbolo da tabulação diretamente na string literal. Aqui está o código com um caractere de tabulação para copiar e tentar:
"hello alex"
Se a guia na string acima não for perdida em nenhum lugar durante a cópia da string, "print (repr (<string from above>)" deve imprimir 'hello \ talex'.
Veja a documentação respectiva do Python para referência.
fonte