A diferencia de otros lenguajes de programación Python ofrece la posibilidad de escribir las cadenas de texto dentro de comillas simples o dobles. Aunque en la mayoría de los casos es posible usar indistintamente unas u otras, existen situaciones en las que no es así. Ante la duda de cual usar se podría consultar PEP8, pero en este caso el estándar no hace ninguna recomendación sobre si usar comillas simples o dobles en Python. Por lo que deberíamos escoger una regla para el uso de comillas y usarla de forma coherente. Veamos algunas diferencias que existen a la hora de usar comillas simples o dobles en Python.
Problemas de las comillas dentro de una cadena
Uno de los problemas más habituales a la hora de incluir cadenas de texto es cuando estas deben incluir comillas dentro de ellas. No es posible escribir directamente comillas simples entre comillas simples, ni dobles entre dobles. El siguiente código no es válido
print('Uso de 'comillas' en Python')
print("Uso de "comillas" en Python")
Ambas líneas de código producen un error. En estos casos, para evitar el problema se puede usar comillas dobles cuando el texto debe contener comillas sencillas o sencillas cuando el texto deba incluir comillas dobles. Esto es, el código anterior se puede corregir de la siguiente manera
print("Uso de 'comillas' en Python")
print('Uso de "comillas" en Python')
Otra opción es escapar las comillas en las cadenas de texto usando para ello la barra invertida (\
) antes de las comillas.
print('Uso de \'comillas\' en Python')
print("Uso de \"comillas\" en Python")
La barra invertida, ¿cómo incluirla dentro de las cadenas de texto?
Si se usa la barra invertida para escapar caracteres, ¿cómo se puede hacer cuando es necesario incluir esta en una cadena de texto? Por ejemplo, a la hora de escribir una ruta en Windows como el que se muestra en la siguiente línea
print('C:\Users\analyticslane')
Existen dos opciones para solucionar esto, usar dos barras o r
delante de la cadena para indicar que no se escape los caracteres con la barra. Las dos opciones para solucionar este problema serían las que se muestran a continuación
print(‘C:\Users\analyticslane’)
print(r’C:\Users\analyticslane’)
Nótese que si se usa r
delante de la cadena no se puede usar la barra para escapar las comillas.
Ambas opciones, escapar o usar r
, es la solución que se debe escoger cuando una cadena contiene tanto comillas dobles como simples.
Uso de comillas simples o dobles en Python cuando ambas son posibles
En la sección anterior se ha visto que cuando se necesita incluir comillas dentro de una cadena de texto esta no se debe encerrar entre el mismo tipo de comillas. Salvo que se escape la comilla o se use r
delante de la cadena. En el resto de los casos se puede elegir una u otra de forma indiferente. Aunque es mejor seguir unos estándares para que el código sea más legible.
Habitualmente se considera una buena práctica usar las comillas simples solamente para cadenas de texto cortas, como un nombre, o cuando hay comillas dobles dentro de la cadena. Por otro lado, se recomienda usar comillas dobles para cadenas de texto largas, como frases o párrafos, interpolación de cadenas o cuando hay comillas simples dentro de la cadena.
Comillas triples en Python
En Python existe una forma adicional para escribir cadenas de texto en un archivo de código: usar tres comillas (tanto simples como dobles).
print("""Se puede incluir tanto comillas 'simples' como "dobles".
Además de escribir incluir saltos de línea con las comillas triples.""")
El principal uso de las comillas triples es para escribir la documentación. Aunque también se usa para incluir texto con varias líneas de una forma más legible.
Conclusiones
En Python existe la opción de encerrar las cadenas de texto dentro de comillas simples o dobles. Aunque en la mayoría de los casos el código funcionará igual si se usan una u otra, es recomendable usar un estándar. Las comillas simples se deberían dejar para las cadenas de texto cortas y las dobles para las cadenas largas o cuando se hace interpolación. Salvo en los casos que no sea posible porque se debe incluir una algún tipo de comilla dentro de la cadena.
Imagen de Oli Lynch en Pixabay
Deja una respuesta