Python F-Strings: interpolación de cadenas avanzada

Aprenda a formatear cadenas en Python usando cadenas F. Evaluación de expresiones maestras, formato de precisión flotante, impresión de fecha y hora y sintaxis de autodocumentación.

Pruébelo en el editor

Descripción general

Formatear cadenas es una tarea que los desarrolladores realizan a diario. Históricamente, el formateo de Python se basaba en el formato `%` estilo C o en el método `.format()`. Si bien eran funcionales, estos estilos de sintaxis más antiguos a menudo conducían a un código detallado y difícil de leer.Python 3.6 introdujo los literales de cadena formateados, comúnmente conocidos como cadenas F. Las cadenas F proporcionan una sintaxis concisa, legible y altamente optimizada para insertar variables y expresiones directamente en cadenas literales.

Para crear una cadena F, anteponga la cadena literal con una `f` o `F` (por ejemplo, `f"Hola {nombre}"`). Cualquier variable o expresión de Python colocada entre llaves `{...}` se evalúa en tiempo de ejecución y se convierte en una cadena automáticamente. Las cadenas F no son sólo para variables; puede llamar funciones, realizar cálculos matemáticos e incluso acceder a valores de diccionario dentro de las llaves, eliminando la necesidad de variables temporales.

Las cadenas F también cuentan con un rico lenguaje de formato. Al agregar dos puntos `:` dentro de las llaves, puede especificar reglas de formato. Por ejemplo, `{value:.2f}` redondea un flotante a dos decimales, `{num:03d}` rellena un número entero con ceros a la izquierda y `{date:%Y-%m-%d}` formatea un objeto de fecha y hora. EnPython 3.8+, F-strings introdujo la sintaxis de depuración `{variable=}`, que imprime tanto el nombre de la variable como su valor automáticamente, haciendo que la depuración sea rápida y sencilla.

Código y salida de ejecución

Demostración de formato flotante, evaluación de expresiones y depuración autodocumentada de signos iguales.

fstrings_demo.py
Pruébelo en el editor
name = "Charlie"
price = 19.995
quantity = 3

# Basic interpolation and math evaluation
receipt = f"Customer: {name} | Total: ${price * quantity:.2f}"
print(receipt)

# Padding and alignment
number = 42
padded = f"ID: {number:05d}"
print(padded)

# Self-documenting debugging syntax (Python 3.8+)
value = 100
print(f"Debug output: {value=}")
Salida terminal
Customer: Charlie | Total: $59.99
ID: 00042
Debug output: value=100

Implementación paso a paso

  • Embellecedores resultados numéricos en informes y paneles
  • Construcción de consultas SQL dinámicas o cargas útiles de solicitudes de API
  • Impresión de declaraciones de depuración rápidas durante las pruebas locales

Preguntas frecuentes

¿Las cadenas F son más rápidas que otros métodos de formato de cadenas?

Sí, las cadenas F son más rápidas que el formato % y .format() porque se evalúan en tiempo de ejecución como código de bytes optimizado en lugar de analizarse durante la ejecución.

¿Cómo imprimo llaves literales en una cadena F?

Puede escapar de las llaves literales duplicándolas, por ejemplo, f"{{Hola}}" imprimirá el texto literal '{Hola}'.

Temas relacionados

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.