El lenguaje Python sigue evolucionando con propuestas que buscan mejorar la legibilidad, la seguridad y la flexibilidad del código. Una de las más recientes incorporaciones al lenguaje es la PEP 750, que introduce un nuevo sistema de plantillas de texto: Template Strings.
Aunque Python ya cuenta con varias formas de interpolar texto (como `str.format()` o f-strings), esta propuesta agrega una forma más estructurada y segura de construir cadenas dinámicas, especialmente útil en contextos donde el contenido proviene del usuario o debe ser validado y separado del código de negocio.
La idea es inspirarse en los template literals de lenguajes como JavaScript, pero con una sintaxis propia y flexible.
Características clave:
- Se introduce un nuevo prefijo de cadena: t"" o t'''...''', al estilo de las f-strings (f"").
- Las expresiones a interpolar deben ser variables ya definidas (sin expresiones arbitrarias como en las f-strings), lo que reduce riesgos de seguridad.
- Pueden ser útiles para escenarios como generación de HTML, SQL, etc., donde conviene tener una separación estricta entre datos y estructura.
nombre = "Emanuel"
edad = 30
mensaje = t"Hola, {nombre}. Tenés {edad} años."
print(mensaje) # Hola, Emanuel. Tenés 30 años.
A diferencia de las f"" strings, no podés hacer expresiones como edad + 1, lo que previene comportamientos inesperados y hace el código más declarativo.
Las Template Strings están diseñadas con seguridad en mente. En lugar de permitir cualquier expresión de Python dentro de la cadena (como en f""), restringen la interpolación a nombres de variables válidos. Esto es ideal en:
- Aplicaciones web (evitar inyecciones accidentales).
- Motores de plantillas simplificados.
- Contextos educativos o de scripting seguro.
La PEP 750 ya fue aceptada y se espera su inclusión oficial en una versión futura de Python (posiblemente Python 3.13 si todo va bien).
Dejo link: https://peps.python.org/pep-0750/