En este tutorial sobre Python te mostraré las f-strings o cadenas de formato, plantillas de cadena o como le llames, las cuales permiten la interpolación de valores dentro de cadenas.
Son aquellas cadenas que se prefijan con una f, así:
f"soy una cadena"
Te mostraré cómo usarlas, qué son y algunos ejemplos. Verás que te ayudarán en varios casos.
Cadenas con formato en Python
Con estas cadenas podemos usar {}
dentro de la cadena o string para mostrar el resultado de una expresión o mostrar una variable. La sintaxis es
cadena = f"cadena {alguna_expresión} con expresiones {otra_expresión}"
Recuerda que al final estamos tratando con cadenas. Puedes imprimirlas, guardarlas, etcétera.
Ejemplo simple
Comencemos con un ejemplo simple en donde se imprime una cadena saludando según el nombre:
nombre = "Luis"
print(f"Hola {nombre}. Encantado de conocerte")
De este modo evitamos concatenar o usar otros tipos de formato; esto es simple, expresivo y eficiente.
Pero como lo dije anteriormente, entre las llaves van expresiones; en este caso estamos usando una variable, pero podemos hacer mucho más.
Expresiones dentro de las cadenas de Python con f-strings
Veamos un ejemplo distinto en donde en lugar del nombre mostramos resultados de expresiones. Por ejemplo, imprimir la suma de dos números:
print(f"5 + 5 = {5 + 5}")
Y no solo eso. Podríamos por ejemplo mostrar el resultado de una función:
def obtener_nombre():
return "Luis"
print(f"Hola {obtener_nombre()}")
Además, las cadenas no solo se pueden imprimir, también se puede usar el formato de cadenas para regresar valores en funciones. Por ejemplo:
def obtener_saludo(nombre):
return f"Hola {nombre}. Encantado de conocerte"
print(obtener_saludo("Luis"))
Conclusión y resumen
En resumen las f-strings sirven para formatear cadenas y mezclar expresiones o colocar resultados de expresiones dentro de una cadena (interpolar), en lugar de concatenar.
Una cadena con formato comienza con f
Las cadenas ya formateadas se pueden usar para cualquier cosa: como nombre de archivo, para imprimir un saludo, armar una URL de una petición, etcétera.
Por cierto, esta característica está disponible a partir de Python 3.6.