Plantillas de cuerdas de Python

Python es un lenguaje de programación interpretado, orientado a objetos y de alto nivel. Es fácil de aprender porque su sintaxis enfatiza la legibilidad, lo que reduce el gasto de mantenimiento del programa. Muchos programadores adoran trabajar con Python porque, sin la compilación, las pruebas y la depuración se realizan rápidamente.

Python Web Templating

La creación de plantillas, especialmente la creación de plantillas web, representa los datos en formularios que el espectador suele leer. La forma más simple de un motor de plantillas sustituye valores en la plantilla para producir la salida. 

Además de las constantes de cadena y las funciones de cadena en desuso, que se trasladaron a los métodos de cadena, el módulo de cadena de Python también incluye plantillas de cadena. La plantilla en sí es una clase que recibe una cadena como argumento. El objeto instanciado de esa clase se llama un objeto de cadena de plantilla. Las cadenas de plantillas se introdujeron por primera vez en Python 2.4. Cuando los operadores de formato de cadena usaban el signo de porcentaje para las sustituciones, el objeto de plantilla usa signos de dólar.

  • $$ es una secuencia de escape; se reemplaza con un solo PS.
  • PS nombra un marcador de posición de sustitución que coincide con una clave de asignación de. Por defecto, debe deletrear un identificador de Python. El primer carácter no identificador después del carácter $ termina esta especificación de marcador de posición.
  • PS es equivalente a $. Se requiere cuando los caracteres de identificación válidos siguen al marcador de posición pero no forman parte del marcador de posición, como la identificación de $ noun.

Fuera de estos usos del signo de dólar, cualquier aparición de $ hace que se genere un ValueError. Los métodos disponibles a través de cadenas de plantillas son los siguientes:

  • Clase cuerda. Modelo(modelo): El constructor toma un único argumento, que es la cadena de plantilla.
  • Sustituir(mapeo, ** palabras clave): Método que sustituye los valores de cadena (cartografía) para los valores de cadena de plantilla. La asignación es un objeto similar a un diccionario, y se puede acceder a sus valores como un diccionario. Si el palabras clave Se utiliza el argumento, representa los marcadores de posición. Donde ambos cartografía y palabras clave se utilizan, este último tiene prioridad. Si falta un marcador de posición en cartografía o palabras clave, se lanza un KeyError.
  • Seguro_ _sustituir(mapeo, ** palabras clave): Funciona de manera similar a sustituto (). Sin embargo, si falta un marcador de posición en cartografía o palabras clave, el marcador de posición original se usa por defecto, evitando así el KeyError. Además, cualquier aparición de "$" devuelve un signo de dólar.

Los objetos de plantilla también tienen un atributo disponible públicamente:

  • Modelo es el objeto pasado al argumento de plantilla del constructor. Si bien el acceso de solo lectura no se aplica, es mejor no cambiar este atributo en su programa.

La siguiente sesión de shell sirve para ilustrar objetos de cadena de plantilla.

>>> desde la plantilla de importación de cadenas 

>>> s = Plantilla ('$ when, $ who $ action $ what.') 

>>> s.sustituye (cuando = 'En el verano', quien = 'John', acción = 'bebidas', what = 'té helado') 'En el verano, John bebe té helado'. 

>>> s.sustituye (cuando = 'Por la noche', quien = 'Jean', acción = 'come', qué = 'palomitas de maíz') 'Por la noche, Jean come palomitas de maíz'. 

>>> en la plantilla '$ when, $ who $ action $ what'. 

>>> d = dict (cuando = 'en verano') 

>>> Plantilla ('$ who $ action $ what $ when'). Safe_substitute (d) '$ who $ action $ what en el verano'