Pythons snarensjablonen

Python is een geïnterpreteerde, objectgeoriënteerde programmeertaal op hoog niveau. Het is gemakkelijk te leren omdat de syntaxis de leesbaarheid benadrukt, wat de kosten van programma-onderhoud vermindert. Veel programmeurs werken graag met Python omdat - zonder de compilatie stap-testen en debuggen snel gaan.

Python Web Templating

Sjablonen, vooral websjablonen, vertegenwoordigen gegevens in formulieren die meestal bedoeld zijn om door een kijker te kunnen worden gelezen. De eenvoudigste vorm van een sjabloonmotor vervangt waarden in de sjabloon om de uitvoer te produceren. 

Afgezien van de stringconstanten en de verouderde stringfuncties, die naar stringmethoden zijn verplaatst, bevat de stringmodule van Python ook stringsjablonen. De sjabloon zelf is een klasse die een string als argument ontvangt. Het object dat uit die klasse wordt geïnstantieerd, wordt een sjabloonreeksobject genoemd. Sjabloonreeksen werden voor het eerst geïntroduceerd in Python 2.4. Waar tekenreeksopmaakoperatoren het percentageteken gebruikten voor substituties, gebruikt het sjabloonobject dollartekens.

  • $$ is een ontsnappingsreeks; het wordt vervangen door een enkele $.
  • $ benoemt een vervangende tijdelijke aanduiding die overeenkomt met een toewijzingssleutel van. Moet standaard een Python-ID spellen. Het eerste niet-identificatieteken na het $ -teken beëindigt deze tijdelijke aanduiding.
  • $ is gelijk aan $. Dit is vereist wanneer geldige identificatietekens de tijdelijke aanduiding volgen, maar geen deel uitmaken van de tijdelijke aanduiding, zoals $ substantief ificatie.

Buiten dit gebruik van het dollarteken, veroorzaakt elke weergave van $ een ValueError. De beschikbare methoden via sjabloonreeksen zijn als volgt:

  • Klasse draad. Sjabloon(sjabloon): De constructor neemt een enkel argument, dat is de sjabloonreeks.
  • Plaatsvervanger(mapping, ** trefwoorden): Methode die de tekenreekswaarden vervangt (in kaart brengen) voor de sjabloonreekswaarden. Mapping is een woordenboekachtig object en de waarden zijn toegankelijk als een woordenboek. Als de trefwoorden argument wordt gebruikt, het vertegenwoordigt tijdelijke aanduidingen. Waar beide in kaart brengen en trefwoorden worden gebruikt, deze laatste heeft voorrang. Als een tijdelijke aanduiding ontbreekt in in kaart brengen of trefwoorden, een KeyError wordt gegooid.
  • Veilig_plaatsvervanger(mapping, ** trefwoorden): Functies vergelijkbaar met substituut (). Als er echter een tijdelijke aanduiding ontbreekt voor in kaart brengen of trefwoorden, de oorspronkelijke tijdelijke aanduiding wordt standaard gebruikt, waardoor KeyError wordt vermeden. Ook retourneert een "$" een dollarteken.

Sjabloonobjecten hebben ook één openbaar beschikbaar kenmerk:

  • Sjabloon is het object dat wordt doorgegeven aan het sjabloonargument van de constructor. Hoewel alleen-lezen toegang niet wordt afgedwongen, is het het beste om dit kenmerk in uw programma niet te wijzigen.

De voorbeeldshell-sessie hieronder dient ter illustratie van sjabloonreeksobjecten.

>>> van tekenreeksimportsjabloon 

>>> s = Template ('$ wanneer, $ wie $ actie $ wat.') 

>>> s.substituut (wanneer = 'In de zomer', wie = 'John', actie = 'drankjes', wat = 'ijsthee') 'In de zomer drinkt John ijsthee.' 

>>> s.substituut (wanneer = '' s Nachts, wie = 'Jean', actie = 'eet', wat = 'popcorn') '' s Nachts eet Jean popcorn. ' 

>>> s.template '$ wanneer, $ wie $ actie $ wat.' 

>>> d = dict (wanneer = 'in de zomer') 

>>> Sjabloon ('$ wie $ actie $ wat $ wanneer'). Safe_substitute (d) '$ wie $ actie $ wat in de zomer'