Saltar a contenido

f-Strings

Un f-string es una cadena de texto en la que podemos incrustar datos. Por ejemplo:

fstrings.py
1
2
3
4
n = 5
doble = n * 2
texto = f"El doble de {n} es {doble}."
print (texto)

Lo que muestra:

El doble de 5 es 10.

Al ejecutar la tercera sentencia, se toman los valores de las variables n y doble, se convierten en texto, y el resultado se insertan en los lugares delimitados por las llaves. Esos marcadores son sustituidos por el texto insertado.

Nótese que los f-strings se escriben con una letra f como prefijo (minúscula o mayúscula). Si se nos olvida, el mecanismo de sustitución no se llevará a cabo, y obtendremos:

El doble de {n} es {doble}.

¿Que quiere decir f-string?

La presentación de un dato en pantalla se hace convirtiéndolo a texto, aplicando un formato de presentación. En términos coloquiales, a esta operación de conversión se le suele llamar formateo del dato.

Los f-strings son cadenas de texto que permiten aplicar de forma cómoda un formato de presentación, de ahí el nombre.

Expresiones

Entre las llaves de un marcador podemos poner variables o expresiones más complejas:

fstrings.py
1
2
3
n = 5
texto = f"El doble de {n} es {n*2}."
print (texto)

Especificaciones de formato

Una expresión o variable a insertar, puede ir acompañada de instrucciones de formato:

f"texto { expresion : formato } más texto"

Por ejemplo:

fstrings2.py
1
2
3
n = 50
texto = f"La mitad de {n} es {n/2:.0f}"
print (texto)

El resultado de una división siempre tiene decimales. Tras la expresión n/2 escribimos dos puntos seguidos del formato a aplicar, que es .0f lo que indica que lo mostremos con cero decimales.

Esto muestra:

La mitad de 50 es 25

Para mostrarlo con dos decimales, por ejemplo, escribiríamos .2f:

fstrings2.py
1
2
3
n = 50
texto = f"La mitad de {n} es {n/2:.2f}"
print (texto)