Cómo formatear cadenas en Python (cadenas f y formato)
Aprenda las mejores técnicas de formato de cadenas en Python. Compare cadenas f modernas, formato() y formato de porcentaje con ejemplos de código.
Descripción general
Formatear cadenas es una necesidad diaria para representar variables dentro de mensajes, generar registros, imprimir depuraciones de consola y crear páginas web. Python ha evolucionado significativamente el formato de cadenas a lo largo de los años, ofreciendo múltiples opciones para construir representaciones de texto dinámicas de forma segura y legible.
En Python moderno (3.6+), el enfoque estándar y más popular es el formateo con cadenas f (literales de cadena formateados). Al anteponer una cadena con `f` o `F`, puede incrustar expresiones o variables de Python directamente dentro de las llaves `{}`. Estas expresiones se evalúan en tiempo de ejecución, lo que hace que las cadenas f sean más rápidas y significativamente más legibles que los métodos de formato más antiguos.
Las bases de código Python más antiguas pueden utilizar el método `.format()` o el formato porcentual `%`. Si bien todavía son compatibles, generalmente no se recomiendan para código nuevo. Las cadenas f también admiten potentes especificadores de formato en línea, lo que le permite controlar la precisión decimal (por ejemplo, `{valor:.2f}`), alinear texto o formatear fechas directamente dentro de variables de cadena.
Código y salida de ejecución
Este script demuestra la impresión de bloques de texto dinámicos usando cadenas f, formateando puntos flotantes y usando .format().
name = "Alice"
age = 30
pi = 3.14159
# 1. Using modern f-strings (Recommended)
greeting_f = f"Hello, my name is {name} and I am {age} years old."
print("f-string:", greeting_f)
# 2. formatting floats (2 decimal places precision)
precision_f = f"Pi rounded: {pi:.2f}"
print(precision_f)
# 3. Using the older .format() method
greeting_format = "Hello, my name is {} and I am {}.".format(name, age)
print(".format():", greeting_format)f-string: Hello, my name is Alice and I am 30 years old.
Pi rounded: 3.14
.format(): Hello, my name is Alice and I am 30.Implementación paso a paso
- Anteponga el literal de cadena con el carácter f (por ejemplo, f'Hola...').
- Inserte variables o expresiones directamente dentro de llaves {} dentro de la cadena.
- Utilice especificaciones de formato como :.2f para manejar el formato decimal dentro de las llaves.
Preguntas frecuentes
¿Las cadenas f son más rápidas que el formato .format() y %?
Sí, las cadenas f se evalúan en tiempo de ejecución como operaciones de código de bytes optimizadas, lo que las hace más rápidas que los operadores .format() y %.
¿Puedo ejecutar funciones o evaluar expresiones dentro de cadenas f?
Sí, cualquier expresión válida de Python (incluidas operaciones matemáticas, llamadas a funciones y búsquedas en diccionarios) se puede evaluar dentro de las llaves.
Temas relacionados
Aprenda cómo obtener la fecha y hora actuales en Python usando el módulo datetime. Formatee fechas en cadenas con strftime y maneje zonas horarias.
Cómo convertir una cadena a Int en PythonAprenda cómo convertir una cadena a un número entero en Python usando la función int(). Maneje los errores de forma segura y convierta números de binario, octal o hexadecimal.
Recursos recomendados de Python
Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.
Cadenas de Python
Manipulación maestra de cadenas en Python. Aprenda métodos de cadenas, técnicas de corte, concatenación y formato con ejemplos de código claros y ejecutables.
Hoja de referencia de formato de fecha y hora de Python
Aprenda a analizar y formatear fechas y horas en Python usando datetime, strftime y strptime.
Python vs JavaScript: ¿Qué lenguaje de programación es mejor?
Una comparación completa entre Python y JavaScript. Explore las diferencias de sintaxis, el rendimiento, los casos de uso (backend frente a frontend) y ejemplos de codificación.