Modelli di stringhe di Python

Python è un linguaggio di programmazione interpretato, orientato agli oggetti e di alto livello. È facile da imparare perché la sua sintassi enfatizza la leggibilità, il che riduce le spese di manutenzione del programma. Molti programmatori adorano lavorare con Python perché, senza la compilazione, i test di fase e il debug vanno rapidamente.

Python Web Templating

Il templating, in particolare il web templating, rappresenta i dati in forme generalmente destinate a essere lette da un visualizzatore. La forma più semplice di un motore di modello sostituisce i valori nel modello per produrre l'output. 

Oltre alle costanti di stringa e alle funzioni di stringa deprecate, che sono passate ai metodi di stringa, il modulo di stringa di Python include anche modelli di stringa. Il modello stesso è una classe che riceve una stringa come argomento. L'oggetto istanziato da quella classe è chiamato oggetto stringa modello. Le stringhe modello sono state introdotte per la prima volta in Python 2.4. Laddove gli operatori di formattazione delle stringhe hanno utilizzato il segno di percentuale per le sostituzioni, l'oggetto modello utilizza i simboli di dollaro.

  • $$ è una sequenza di escape; viene sostituito con uno singolo $.
  • $ nomina un segnaposto sostitutivo che corrisponde a una chiave di mappatura di. Per impostazione predefinita, è necessario scrivere un identificatore Python. Il primo carattere non identificativo dopo il carattere $ termina questa specifica segnaposto.
  • $ è equivalente a $. È obbligatorio quando i caratteri identificativi validi seguono il segnaposto ma non fanno parte del segnaposto, ad esempio $ sostantivo ification.

Al di fuori di questi usi del simbolo del dollaro, qualsiasi aspetto di $ provoca la generazione di un ValueError. I metodi disponibili tramite le stringhe di modello sono i seguenti:

  • Classe corda. Modello(modello): Il costruttore accetta un singolo argomento, ovvero la stringa del modello.
  • Sostituto(mappatura, ** parole chiave): Metodo che sostituisce i valori di stringa (Mappatura) per i valori di stringa del modello. La mappatura è un oggetto simile a un dizionario e ai suoi valori è possibile accedere come dizionario. Se la parole chiave viene utilizzato l'argomento, rappresenta i segnaposto. Dove entrambi Mappatura e parole chiave vengono utilizzati, quest'ultimo ha la precedenza. Se manca un segnaposto Mappatura o parole chiave, viene generato un KeyError.
  • Sicuro_sostituto(mappatura, ** parole chiave): Funziona in modo simile a substitute (). Tuttavia, se manca un segnaposto Mappatura o parole chiave, il segnaposto originale viene utilizzato per impostazione predefinita, evitando così KeyError. Inoltre, qualsiasi occorrenza di "$" restituisce un segno di dollaro.

Gli oggetti modello hanno anche un attributo disponibile pubblicamente:

  • Modello è l'oggetto passato all'argomento template del costruttore. Sebbene l'accesso in sola lettura non sia obbligatorio, è consigliabile non modificare questo attributo nel programma.

La seguente sessione di shell di esempio serve per illustrare gli oggetti stringa modello.

>>> dal modello di importazione delle stringhe 

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

>>> s.s sostituto (quando = 'In estate', who = 'John', action = 'drinks', what = 'tea freddo') 'In estate John beve tè freddo.' 

>>> s.s sostituto (quando = 'Di notte', who = 'Jean', action = 'mangia', what = 'popcorn') 'Di notte, Jean mangia popcorn.' 

>>> s.template '$ when, $ who $ action $ what.' 

>>> d = dict (quando = 'in estate') 

>>> Template ('$ who $ action $ what $ when'). Safe_substitute (d) '$ who $ action $ what in the summer'