Saltar a contenido

Secuencias de escape

Las secuencias de escape permiten incluir caracteres especiales dentro de una cadena. Estos caracteres especiales no se pueden imprimir de manera literal, por lo que se utilizan secuencias de escape para representarlos.

Uso del operador de escape ( \ ) en cadenas de caracteres

El operador de escape ( \ ) en las cadenas de Python se utiliza para introducir secuencias de escape, que son representaciones de caracteres especiales que no se pueden imprimir de manera literal.

Algunas secuencias de escape comunes son:

  • \n para insertar en la cadena un salto de línea (newline).
  • \t para insertar en la cadena una tabulación (tab).
  • \\ para insertar en la cadena una barra invertida literal.
  • \" para insertar en la cadena una comilla doble literal.
  • \' para insertar en la cadena una comilla simple literal.
Python
print("Hola\nMundo")  # \n es una secuencia de escape para una nueva línea

print("Hola\tMundo")  # \t es una secuencia de escape para una tabulación

print("Ella dijo: \"Hola Mundo\"")  # \" es una secuencia de escape para una comilla doble

print('It\'s a beautiful day')  # \' es una secuencia de escape para una comilla simple

Estos códigos imprimirán en pantalla:

Terminal (Entrada/Salida)
Hola
Mundo
Hola    Mundo
Ella dijo: "Hola Mundo"
It's a beautiful day

¡Para recordar!

Como puedes ver, el operador de escape ( \ ) permite insertar caracteres especiales en las cadenas que de otra manera serían difíciles o imposibles de incluir.

Comandos de "escape" disponibles

Secuencia Escape    Significado
------------------------------------------------------------------------------------
\\                  Backslash (\)
\'                  Comillas simple (')
\"                  Comillas doble (")
\a                  Bell ASCII (BEL)
\b                  Backspace ASCII (BS)
\f                  Formfeed ASCII (FF)
\n                  Linefeed ASCII (LF)
\N{name}            Carácter llamado name en base de datos Unicode (solo Unicode)
\r                  Carriage Return ASCII (CR)
\t                  Tabulación Horizontal ASCII (TAB)
\uxxxx              Carácter con valor hex 16-bit xxxx (solo Unicode). Ver hex.
\Uxxxxxxxx          Carácter con valor hex 32-bit xxxxxxxx (solo Unicode). Ver hex.
\v                  Tabulación Vertical ASCII (VT)
\ooo                Carácter con valor octal ooo. Ver octal.
\xhh                Carácter con valor hex hh. Ver hex.

Secuencias de escape no válidas

Cualquier otra secuencia que no se encuentre definida, devolverá un mensaje de error pero no afectará la ejecución del programa. Por ejemplo, el siguiente código:

Python
print("Hola\kMundo")  # \k no es una secuencia de escape válida

Este código imprimirá en pantalla:

Terminal (Entrada/Salida)
c:\Usuarios\Pablo\secuencia_invalida.py:1: SyntaxWarning: invalid escape sequence '\k'
  print("Hola\kMundo")  # \a es una secuencia de escape para un sonido de campana
Hola\kMundo
PS C:\Usuarios\Pablo> 

Como vimos anteriormente, la concatenación de dos o más cadenas de caracteres significa unirlas en una sola cadena, una a continuación de la otra, sin agregar otro caracter entre ellas como un espacio, una coma o un punto, por ejemplo.

¿Qué es el operador de repetición?

Pero, ¿qué pasa si queremos tomar una cadena y copiarla una o más veces detrás de si misma?

Veamos la siguiente expresión:

Python
risa = "ja"
carcajada = risa * 5

print(risa)
print(carcajada)

¿Qué crees que imprimirá esta expresión? ¿Por qué?

Haz clic aquí para ver la solución
Terminal (Entrada/Salida)
ja
jajajajaja

En Python, el símbolo * es el operador de multiplicación que se utiliza para multiplicar números; pero también es el operador de repetición * que se utiliza para replicar, repetir, una cadena de caracteres a continuación de si misma, tantas veces como sea necesario.

La repetición simplemente significa copiar una cadena de caracteres una o más veces detrás de si misma, sin agregar otro caracter entre ellas como un espacio, una coma o un punto, por ejemplo.

¡Para recordar!

Si deseas replicar una cadena de caracteres, puedes usar el operador * seguido de un número entero que indique cuántas veces deseas repetir la cadena.

Ejercicios de aplicación

  1. Imprime una línea de 10 asteriscos * en la pantalla.
Haz clic aquí para ver la solución propuesta
asteriscos = "*" * 10

print(asteriscos)
Terminal (Entrada/Salida)
**********

  1. Imprime una línea de 10 guiones bajos _ en la pantalla.
Haz clic aquí para ver la solución propuesta
guiones = "_" * 10

print(guiones)
Terminal (Entrada/Salida)
__________