Python:
Interpolando una cadena de caracteres
Cómo hacerlo:
En Python 3.6 y versiones superiores, puedes interpolar cadenas utilizando f-strings. Así es como se hace:
name = 'Alice'
age = 30
greeting = f"Hola, {name}. Tienes {age} años."
print(greeting)
Salida:
Hola, Alice. Tienes 30 años.
También puedes usar expresiones dentro de las llaves:
a = 5
b = 10
info = f"Cinco más diez es {a + b}, no {2 * (a + b)}."
print(info)
Salida:
Cinco más diez es 15, no 30.
Análisis Profundo
Antes de Python 3.6, .format()
era la forma de proceder para interpolar cadenas:
name = 'Bob'
age = 25
greeting = "Hola, {}. Tienes {} años.".format(name, age)
print(greeting)
El antiguo Python (versiones < 2.6) utilizaba el operador %
para la interpolación, que es menos intuitivo y puede complicarse con múltiples variables:
name = 'Carol'
age = 35
greeting = "Hola, %s. Tienes %d años." % (name, age)
print(greeting)
Además de una sintaxis más limpia, las f-strings son más rápidas porque se evalúan en tiempo de ejecución y luego se convierten directamente en una operación de formato de cadena eficiente. El método .format()
y el operador %
involucran más pasos y son más lentos.
Ver También
- PEP 498 – Literal String Interpolation para la documentación oficial sobre f-strings.
- Python f-strings por Real Python para un tutorial sobre el uso de f-strings.
- El Método .format() en la documentación de Python para entender el antiguo método
.format()
de formateo de cadenas.