Aspectos básicos de las cadenas en Python

Completado

Aunque las cadenas en Python parecen ser sencillas, hay cierta complejidad en las reglas de las cadenas que es importante comprender. El conocimiento de las reglas ayuda a evitar que le sorprenda el comportamiento de las cadenas al modificar valores o dar formato al texto.

Una cadena simple

En el ejemplo de esta unidad, tiene un único hecho sobre la Luna que está asignado a una variable, como este:

fact = "The Moon has no atmosphere."
print(fact)

La salida muestra que el texto se ha asignado a la variable : The Moon has no atmosphere.

Inmutabilidad de las cadenas

En Python, las cadenas son inmutables. Es decir, no pueden cambiar. Esta propiedad del tipo de cadena puede ser sorprendente, ya que Python no proporciona errores al modificar cadenas.

Debe agregar otro hecho (frase) al único hecho asignado a una variable. Parece que agregar el segundo hecho podría modificar la variable, tal como en el ejemplo siguiente:

fact = "The Moon has no atmosphere."
fact + "No sound can be heard on the Moon."

Es posible que espere que la salida sea: The Moon has no atmosphere.No sound can be heard on the Moon.

Aunque podría parecer que se ha modificado la variable fact, una comprobación rápida del valor revela que el valor original no ha cambiado:

fact = "The Moon has no atmosphere."
fact + "No sound can be heard on the Moon."
print(fact)

Salida: The Moon has no atmosphere.

Aquí el truco es que se debe usar un valor devuelto. Al agregar cadenas, Python no modifica ninguna, sino que devuelve una cadena nueva como resultado. Para mantener este resultado nuevo, asígnelo a una nueva variable:

fact = "The Moon has no atmosphere."
two_facts = fact + "No sound can be heard on the Moon."
print(two_facts)

Salida: The Moon has no atmosphere.No sound can be heard on the Moon.

Las operaciones en las cadenas siempre generan cadenas nuevas como resultado.

Acerca del uso de comillas

Puede incluir las cadenas de Python entre comillas simples, dobles o triples. Aunque se pueden usar indistintamente, es mejor utilizar un tipo de forma coherente dentro de un proyecto. Por ejemplo, en la cadena siguiente se usan comillas dobles:

moon_radius = "The Moon has a radius of 1,080 miles."

Pero cuando una cadena contiene palabras, números o caracteres especiales (una subcadena) que también se incluyen entre comillas, debe usar otro estilo. Por ejemplo, si en una subcadena se usan comillas dobles, incluya toda la cadena entre comillas simples, como se muestra aquí:

'The "near side" is the part of the Moon that faces the Earth.'

Del mismo modo, si en alguna parte de la cadena hay comillas simples (o un apóstrofo, como en Moon's en el ejemplo siguiente), incluya toda la cadena entre comillas dobles:

"We only see about 60% of the Moon's surface."

Si no se alternan las comillas simples y dobles, el intérprete de Python puede generar un error de sintaxis, como se muestra aquí:

'We only see about 60% of the Moon's surface.'
  File "<stdin>", line 1
    'We only see about 60% of the Moon's surface.'
                                       ^
SyntaxError: invalid syntax

Cuando el texto tiene una combinación de comillas simples y dobles, puede usar comillas triples para evitar problemas con el intérprete:

"""We only see about 60% of the Moon's surface, this is known as the "near side"."""

Texto multilínea

Hay diferentes maneras de definir varias líneas de texto como una sola variable. Las más comunes son las siguientes:

  • Usar un carácter de nueva línea (\n).
  • Usar comillas triples (""").

Los caracteres de nueva línea separan el texto en varias líneas al imprimir la salida:

multiline = "Facts about the Moon:\n There is no atmosphere.\n There is no sound."
print(multiline)
Facts about the Moon:
 There is no atmosphere.
 There is no sound.

Puede lograr el mismo resultado con las comillas triples:

multiline = """Facts about the Moon:
 There is no atmosphere. 
 There is no sound."""
print(multiline)