Explorando el ‘f’ de Python: Cadenas de Formateo

Explorando el ‘f’ de Python: Cadenas de Formateo

En Python, las cadenas de texto se pueden formatear de varias maneras. Una forma tradicional es usar la función format(). Sin embargo, en las últimas versiones de Python, se introdujo una nueva sintaxis para formatear cadenas de texto llamada f-strings.

Sintaxis de f-strings

Una f-string es una cadena de texto que comienza con la letra f o F. Dentro de la cadena, se pueden usar expresiones Python entre llaves {}. Estas expresiones se sustituyen por sus valores al momento de la ejecución.

Ejemplos

Python
# Una f-string simple
nombre = "Juan"
edad = 30

print(f"Mi nombre es {nombre} y tengo {edad} años.")

Salida:

Mi nombre es Juan y tengo 30 años.

En este ejemplo, la variable nombre se sustituye por el valor «Juan» y la variable edad se sustituye por el valor 30.

Formato de cadenas

Las f-strings también se pueden usar para dar formato a cadenas de texto. Para ello, se pueden usar los siguientes marcadores:

  • {variable}: Sustituye la variable por su valor.
  • {variable:tipo}: Sustituye la variable por su valor con el tipo especificado.
  • {variable:ancho.precisión}: Sustituye la variable por su valor con un ancho y una precisión especificados.

Ejemplos

Python
# Formateo de cadenas con f-strings
nombre = "Juan"
edad = 30.1234

print(f"Mi nombre es {nombre:^20}")
print(f"Mi edad es {edad:.2f}")

Salida:

     Juan
30.12

En el primer ejemplo, la variable nombre se sustituye por su valor con un ancho de 20 caracteres. En el segundo ejemplo, la variable edad se sustituye por su valor con dos decimales.

Ventajas de las f-strings

Las f-strings tienen varias ventajas sobre la función format():

  • Son más concisas y fáciles de leer.
  • Permiten usar expresiones Python complejas.
  • Admiten varios tipos de formato.

Conclusión

Las f-strings son una forma moderna y potente de formatear cadenas de texto en Python. Son más concisas, fáciles de leer y admiten varios tipos de formato. Si está escribiendo código Python, le recomiendo que use f-strings en lugar de la función format().