Cadenas de texto

En esta lección se tratan el tipo de datos cadena de texto (string) en Python.

¡Atención!Los ejemplos de esta lección muestran el resultado de ejecutar las operaciones en el prompt de IDLE y en algunos casos, en los programas.

Cadenas de texto

Comillas simples y dobles

En Python las cadenas de texto se delimitan con comillas simples (') o dobles ("):

>>> "Esto es una cadena"
'Esto es una cadena'
>>> "Esto es una cadena"
'Esto es una cadena'

En el prompt del IDLE, Python escribe normalmente las cadenas entre comillas simples, pero al ejecutar programas Python no escribe las cadenas entre comillas.

En Python las comillas dobles y las comillas simples son completamente equivalentes, pero en otros lenguajes de programación no lo son.

¡Atención!En otros lenguajes de programación, por ejemplo en PHP, en las cadenas delimitadas con comillas dobles las variables se sustituyen por su valor y se pueden utilizar caracteres especiales, pero en las cadenas delimitadas con comillas simples, no. Aunque en la documentación de Python se utilizan casi siempre comillas simples, en estos apuntes se utilizan casi siempre las comillas dobles porque en PHP (el lenguaje de programación que se trabaja en 2º curso) se utilizan más las comillas dobles.


Las cadenas se deben cerrar con las mismas comillas con las que se abrieron.

Si no se hace así en el prompt de IDLE, se muestra un mensaje de error de sintaxis:

>>> "Esto es una cadena'
SyntaxError: EOL while scanning string literal
>>>

Si no se hace así en un programa, al ejecutarlo se muestra una ventana de error de sintaxis:

print("Esto es una cadena')
Aviso: Error de sintaxis (delimitadores no coinciden)

Sin necesidad de ejecutar la orden o el programa, la forma en que IDLE colorea la orden nos indica que hay algo incorrecto. El paréntesis de cierre se muestra de color verde, lo que indica que IDLE no identifica la comilla simple como cierre de la cadena abierta con comilla doble.

Comillas triples

En construcciónPor completar

Comillas dentro de comillas

Se pueden escribir comillas simples en cadenas delimitadas con comillas dobles y viceversa:

>>> "Las comillas simples ' delimitan cadenas."
"Las comillas simples ' delimitan cadenas."
>>> 'Las comillas dobles " delimitan cadenas.'
'Las comillas dobles " delimitan cadenas.'

Nota: Fíjese en que en el primer ejemplo, Python ha escrito la cadena entre comillas dobles.

Pero no se pueden escribir en el interior de una cadena comillas del mismo tipo que las comillas delimitadoras:

>>> "Las comillas dobles " delimitan cadenas"
SyntaxError: invalid syntax
>>>
>>> 'Las comillas simples ' delimitan cadenas'
SyntaxError: invalid syntax
>>>

El motivo es que Python entiende que la comilla escrita en medio de la cadena está cerrando la cadena y no puede interpretar lo que viene a continuación. Sin necesidad de ejecutar la orden o el programa, la forma en que IDLE colorea la orden así nos lo indica.

En un programa, obtendríamos también una ventana de error de sintaxis. Dependiendo del número y la posición de las cadenas, el mensaje de error puede ser distinto:

print("Las comillas dobles " delimitan cadenas")
Aviso: Error de sintaxis
print('Un tipo le dice a otro: '¿Cómo estás?'')
Aviso: Error de sintaxis (cadena incorrecta)

Otra forma de escribir comillas en una cadena es utilizar los caracteres especiales \" y \' que representan los caracteres comillas dobles y simples respectivamente y Python no interpreta en ningún caso como delimitadores de cadena:

>>> 'Las comillas simples \' delimitan cadenas.'
"Las comillas simples ' delimitan cadenas." >>> "Las comillas dobles \" delimitan cadenas." 'Las comillas dobles " delimitan cadenas.'

Se pueden utilizar ambos caracteres especiales independientemente del delimitador utilizado

>>> 'Las comillas simples \' y las comillas dobles \" delimitan cadenas.'
'Las comillas simples \' y las comillas dobles " delimitan cadenas.'
>>> "Las comillas simples \' y las comillas dobles \" delimitan cadenas."
'Las comillas simples \' y las comillas dobles " delimitan cadenas.'

Nota: Fíjese en que en ambos casos, Python escribe la comilla simple como caracter especial.

Caracteres especiales

Los caracteres especiales empiezan por una contrabarra (\).

En construcciónPor completar con todos los caracteres especiales

Operaciones con cadenas

En construcciónPor completar


En construcciónPor completar