Python – Capítulo 22: Comillas simples, dobles y triples

Las cadenas de texto, o strings, las delimitamos en Python encerrándolas entre comillas. Por lo general, estas pueden ser simples o dobles, da igual cuáles empleemos (con la condición de que la comilla que abre sea del mismo tipo que la que cierra, por supuesto). En los ejemplos que he incluido en esta serie me habréis visto usar un tipo u otro indistintamente.

La ventaja de poder elegir entre comillas simples o dobles la encontramos cuando necesitemos anidar unas comillas dentro de otras. Observad el siguiente ejemplo:

>>> >>> print('Una de mis series favoritas era "La casa de la pradera".')
Una de mis series favoritas era "La casa de la pradera".

Esto lo hemos podido conseguir utilizando el par interior de comillas de tipo diferente a la que abre y cierra el string, de modo que Python no puede confundirse a la hora de delimitar el fin de la cadena.

Pero, ¿como haríamos si necesitáramos imprimir las propias comillas simples o dobles, con libertad, dentro de un string?

La solución pasa por utilizar “caracteres de escape”. Referenciamos las comillas simples y dobles precediéndolas de un backslash (\), de modo que Python ignore su significado habitual delimitando strings.

Para escribir una comilla simple, emplearíamos \’ y, para una doble, \”.

Por ejemplo:

>>> print('Una de mis canciones favoritas de Beatles es "Maxwell\'s silver hammer".')
Una de mis canciones favoritas de Beatles es "Maxwell's silver hammer".

Existe un problema al escribir strings largos, y es que deben estar en la misma línea de código, pues Python interpretaría una pulsación de Enter como una nueva línea de código.

Si, por cuestiones de comodidad, necesitamos “partir” nuestro código, continuando en una nueva línea física, pero que forme parte de la misma línea lógica, podemos hacerlo terminando la línea física con el carácter de escape \ y pulsando Enter a continuación.

Observadlo en este ejemplo:

>>> print('Una de mis canciones favoritas de Beatles \
es "Maxwell\'s silver hammer".')
Una de mis canciones favoritas de Beatles es "Maxwell's silver hammer".

¿Cómo manejaríamos un string que estuviera compuesto por varias líneas? La solución obvia sería emplear un string por línea, pero ¿cómo lo hacemos para que figure todo en la misma cadena?

Existe un carácter de escape para una nueva línea, y es \n. Fijaos en el siguiente código:

>>> print('La receta auténtica del alioli:\n- Ajo\n- Aceite')
La receta auténtica del alioli:
- Ajo
- Aceite

También disponemos de un carácter de escape para el tabulador: \t.

>>> print('Manzana\tPera\tCiruela\nMelón\tSandía\tFresa')
Manzana  Pera    Ciruela
Melón    Sandía  Fresa

No obstante, cuando la cadena es larga, este método de formateo resulta complejo. Ahí es donde surge un nuevo invitado a la escena: la comilla triple.

La comilla triple nos permite insertar un string con todas las líneas que deseemos. Basta que enmarquemos un bloque de texto entre comillas triples (da igual si son simples o dobles) y Python respetará el aspecto y formato completo del texto.

Veámoslo en el siguiente ejemplo:

>>> print("""
Una de mis series favoritas era "La casa de la pradera"
Una de mis canciones favoritas de Beatles es "Maxwell's silver hammer"
Manzana  Pera  Ciruela
Melón  Sandía  Fresa""")

Una de mis series favoritas era "La casa de la pradera"
Una de mis canciones favoritas de Beatles es "Maxwell's silver hammer"
Manzana  Pera    Ciruela
Melón    Sandía  Fresa

Todo eso en un único string.

Observad cómo no he necesitado preocuparme del anidado de comillas, ni tan siquiera de escapar la comilla de Maxwell’s.

Interesante, ¿verdad?

Python está repleto de sutilezas así que hacen que la labor de programar sea un ejercicio eficaz y sumamente divertido a la vez.

Javier Montero


Python – Capítulo 22: Comillas simples, dobles y triples


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta

15 opiniones en “Python – Capítulo 22: Comillas simples, dobles y triples”

  1. Hey! Gracias por esta información, me sirvio mucho para estos momentos en los que apenas comienzo en Python y veo que algunos ejemplos vienen con ” otros con ‘ y bueno ahora se de la ultilidad del \ o tambien del \n o \t y tambien de las triple comillas =) Gracias 😀

    1. Qué tal, Jesús:

      Me alegro de haberte sido útil en tus comienzos con Python. Ya te habrás dado cuenta de que es un lenguaje completamente diferente a cualquier otro.
      Mucha suerte y te animo a que te conviertas en un gran programador Python. 😉

  2. Me di cuenta que las triples comillas también sirven para hacer comentarios de varias lineas, sustituyendo de esta forma a la almohadilla #.
    Saludos!

    1. Bueno, eso hay que matizarlo. Si los pones al comienzo de un módulo o funcion Python lo tomará como doc string para documentar el programa, de modo que cuando hagas help(modulo) te aparecerá ese texto en el campo DESCRIPTION. Si no es lo que deseas, procura usar comentarios típicos.
      ¡Saludos!

  3. un pregunta en python tambien se escriben los parentesis o las comillas simultaniamente como en c++, es decir si escribo un parentesis automaticamente me aparece el otro y queda el cursor en medio para escribir dentro?

Deja un comentario