Cadenas de texto (2)

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

En esta lección se tratan los conceptos más básicos de las cadenas, pero en los que intervienen variables.

Cadenas "f"

En Python 3.6 se añadió (PEP 498) una nueva notación para cadenas llamada cadenas "f", que simplifica la inserción de variables y expresiones en las cadenas. Una cadena "f" contiene variables y expresiones entre llaves ({}) que se sustituyen directamente por su valor. Las cadenas "f" se reconocen porque comienzan por una letra f antes de las comillas de apertura.

nombre = "Pepe"
edad = 25
print(f"Me llamo {nombre} y tengo {edad} años.")
Me llamo Pepe y tengo 25 años.
semanas = 4
print(f"En {semanas} semanas hay {7 * semanas} días.")
En 4 semanas hay 28 días.

Esta notación no añade espacios que en la notación "clásica" aparecían al incluir varios argumentos separados por comas:

fecha = 2022
print("¡Feliz", fecha, "!")
print(f"¡Feliz {fecha}!")
¡Feliz 2022 !
¡Feliz 2022!

Si no se escribe la letra f antes de la cadena, Python no sustituye los valores de las variables ni calcula las expresiones.

nombre = "Pepe"
edad = 25
print("Me llamo {nombre} y tengo {edad} años.")
Me llamo {nombre} y tengo {edad} años.

Si se quieren escribir los caracteres { o }, se deben escribir duplicados.

nombre = "Pepe"
edad = 25
print(f"Si escribe {{nombre}} se escribirá el valor de la variable nombre, "
      f"en este caso {nombre}.")
Si escribe {nombre} se escribirá el valor de la variable nombre, en este caso Pepe.

Las cadenas "f" permiten dar formato a las variables, siguiendo la sintaxis del método str.format()

En construcciónPor escribir ejemplos de formato.

Operaciones con cadenas

En construcciónPor completar

Las cadenas se pueden concatenar (unir) mediante la operación suma (+).

cadena_1 = "aaaa"
cadena_2 = "bbbb"
print(cadena_2 + cadena_1)
cadena_3 = cadena_1 + cadena_2
print(cadena_3)
bbbbaaaa
aaaabbbb

Aunque no es una operación muy habitual, una cadena se puede multiplicar por un número y como en el caso de los números, se trata de una suma repetida:

cadena_1 = "abcde"
print(3 * cadena_1)
abcdeabcdeabcde

Las cadenas se pueden modificar concatenando otras cadenas:

cadena_1 = "me"
cadena_1 = cadena_1 + "olvides"
print(cadena_1)
cadena_1 = "no" + cadena_1
print(cadena_1)
meolvides
nomeolvides
        

En construcciónPor completar

Para saber más