Usar print "a\tb"me da a (8 spaces)ben el cmdencendido Windows. ¿Por qué imprime 8 espacios en lugar del carácter de tabulación?
Iulian Onofrei
¿Qué más estabas esperando?
Simone
8
Para mostrara (tab character)b
Iulian Onofrei
@IulianOnofrei Un carácter de tabulación es un carácter que no se imprime, también conocido como espacio en blanco. No ve nada cuando presiona la tecla Tab. Simplemente mueve el texto por un número predeterminado de espacios. Tal vez puedas dibujar en los personajes lo que quieres que aparezca. ¿Es ->?
Rick Henderson
44
@RickHenderson Eso no es cierto, un carácter de tabulación no es solo un número de espacios. Tal vez su editor esté configurado para insertar espacios al presionar la pestaña. "" es una pestaña "" es un espacio. Es posible que no vea la diferencia aquí, pero abra Word / Libre y verá la diferencia.
Sativa
27
El manual de referencia de Python incluye varios literales de cadena que se pueden usar en una cadena. Estas secuencias especiales de caracteres se reemplazan por el significado previsto de la secuencia de escape.
Aquí hay una tabla de algunas de las secuencias de escape más útiles y una descripción de la salida de ellas.
EscapeSequenceMeaning
\t Tab
\\ Inserts a back slash (\)
\' Inserts a single quote (')
\" Inserts a double quote (")
\n Inserts a ASCII Linefeed (a new line)
Ejemplo básico
Si quisiera imprimir algunos puntos de datos separados por un espacio de tabulación, podría imprimir esta cadena.
DataString="0\t12\t24"print(DataString)
Devoluciones
01224
Ejemplo de listas
Aquí hay otro ejemplo en el que estamos imprimiendo los elementos de la lista y queremos especificar los elementos mediante una TAB.
Tenga en cuenta que las cadenas sin formato (una cadena que incluye un prefijo "r"), los literales de cadena se ignorarán. Esto permite que estas secuencias especiales de caracteres se incluyan en cadenas sin cambiarlas.
DataString= r"0\t12\t24"print(DataString)
Devoluciones
0\t12\t24
Que tal vez una salida no deseada
Longitudes de cuerda
También debe tenerse en cuenta que los literales de cadena tienen solo un carácter de longitud.
Por lo general, se encuentra \ten las interfaces de línea de comandos, que convertirán el carácter \ten el carácter de tabulación de espacios en blanco.
Como no se mencionó en ninguna respuesta, en caso de que desee alinear y espaciar su texto, puede usar las funciones de formato de cadena. (por encima de python 2.5) Por supuesto, en \trealidad es un token TAB, mientras que el método descrito genera espacios.
¿Cómo dar un carácter de tabulación para imprimir un elemento de matriz tridimensional como 0 12 24 como 3 filas?
priya raj
Agregado a la respuesta
usuario1767754
0
Aquí hay algunas formas más exóticas de Python 3 para obtener "hola" TAB "alex" (probado con 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"
En realidad, en lugar de usar una secuencia de escape, es posible insertar el símbolo de tabulación directamente en el literal de cadena. Aquí está el código con un carácter de tabulación para copiar y probar:
"hello alex"
Si la pestaña de la cadena de arriba no se perderá en ningún lugar durante la copia de la cadena, entonces "print (repr (<cadena de arriba>)" debería imprimir 'hola \ talex'.
Respuestas:
Este es el código:
El
\t
interior de la cadena es la secuencia de escape para la tabulación horizontal.fuente
print "a\tb"
me daa (8 spaces)b
en elcmd
encendidoWindows
. ¿Por qué imprime 8 espacios en lugar del carácter de tabulación?a (tab character)b
El manual de referencia de Python incluye varios literales de cadena que se pueden usar en una cadena. Estas secuencias especiales de caracteres se reemplazan por el significado previsto de la secuencia de escape.
Aquí hay una tabla de algunas de las secuencias de escape más útiles y una descripción de la salida de ellas.
Ejemplo básico
Si quisiera imprimir algunos puntos de datos separados por un espacio de tabulación, podría imprimir esta cadena.
Devoluciones
Ejemplo de listas
Aquí hay otro ejemplo en el que estamos imprimiendo los elementos de la lista y queremos especificar los elementos mediante una TAB.
Devoluciones
Cuerdas crudas
Tenga en cuenta que las cadenas sin formato (una cadena que incluye un prefijo "r"), los literales de cadena se ignorarán. Esto permite que estas secuencias especiales de caracteres se incluyan en cadenas sin cambiarlas.
Devoluciones
Que tal vez una salida no deseada
Longitudes de cuerda
También debe tenerse en cuenta que los literales de cadena tienen solo un carácter de longitud.
Devoluciones
La cadena sin procesar tiene una longitud de 9.
fuente
\t
. ¿Cómo puedo hacer esto?Puede usar \ t en un literal de cadena:
"hello\talex"
fuente
Por lo general, se encuentra
\t
en las interfaces de línea de comandos, que convertirán el carácter\t
en el carácter de tabulación de espacios en blanco.Por ejemplo,
hello\talex
->hello--->alex
.fuente
Como no se mencionó en ninguna respuesta, en caso de que desee alinear y espaciar su texto, puede usar las funciones de formato de cadena. (por encima de python 2.5) Por supuesto, en
\t
realidad es un token TAB, mientras que el método descrito genera espacios.Ejemplo:
Otro ejemplo, alineado a la izquierda:
fuente
Aquí hay algunas formas más exóticas de Python 3 para obtener "hola" TAB "alex" (probado con 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"
En realidad, en lugar de usar una secuencia de escape, es posible insertar el símbolo de tabulación directamente en el literal de cadena. Aquí está el código con un carácter de tabulación para copiar y probar:
"hello alex"
Si la pestaña de la cadena de arriba no se perderá en ningún lugar durante la copia de la cadena, entonces "print (repr (<cadena de arriba>)" debería imprimir 'hola \ talex'.
Consulte la documentación respectiva de Python como referencia.
fuente