Template-Methode

Reguläre Ausdrücke in Python

Maria Eugenia Inzaugarat

Data Scientist

Template-Strings

  • Einfache Syntax
  • Langsamer als f-Strings
  • Eingeschränkt: keine Format-Spezifizierer
  • Gut bei extern formatierten Strings
Reguläre Ausdrücke in Python

Grundsyntax

from string import Template

my_string = Template('Data science has been called $identifier')
my_string.substitute(identifier="sexiest job of the 21st century")
'Data science has been called sexiest job of the 21st century'
Reguläre Ausdrücke in Python

Ersetzung

  • Viele $identifier verwenden
  • Variablen verwenden
from string import Template
job = "Data science"
name = "sexiest job of the 21st century"

my_string = Template('$title has been called $description')
my_string.substitute(title=job, description=name)
'Data science has been called sexiest job of the 21st century'
Reguläre Ausdrücke in Python

Ersetzung

  • ${identifier} nutzen, wenn auf den Bezeichner gültige Zeichen folgen

 

my_string = Template('I find Python very ${noun}ing but my sister has lost $noun')

my_string.substitute(noun="interest")
'I find Python very interesting but my sister has lost interest'
Reguläre Ausdrücke in Python

Ersetzung

  • $$ verwenden, um das Dollarzeichen zu escapen

 

my_string = Template('I paid for the Python course only $$ $price, amazing!')

my_string.substitute(price="12.50")
'I paid for the Python course only $ 12.50, amazing!'
Reguläre Ausdrücke in Python

Ersetzung

  • Fehler auslösen, wenn Platzhalter fehlt
favorite = dict(flavor="chocolate")

my_string = Template('I love $flavor $cake very much')
my_string.substitute(favorite)
Traceback (most recent call last):
KeyError: 'cake'
Reguläre Ausdrücke in Python

Ersetzung

favorite = dict(flavor="chocolate")
my_string = Template('I love $flavor $cake very much')
try:
    my_string.substitute(favorite) 
except KeyError:
      print("missing information")
missing information
Reguläre Ausdrücke in Python

Sichere Ersetzung

  • Gibt immer einen nutzbaren String zurück
  • Fehlende Platzhalter erscheinen im Ergebnis
favorite = dict(flavor="chocolate")
my_string = Template('I love $flavor $cake very much')

my_string.safe_substitute(favorite)
'I love chocolate $cake very much'
Reguläre Ausdrücke in Python

Welche Methode nutzen?

  • str.format():

    • Gut für den Einstieg. Konzepte gelten auch für f-Strings.
    • Kompatibel mit allen Python-Versionen.
  • f-Strings:

    • Meist die beste Wahl.
    • Nur für moderne Python-Versionen (3.6+).
  • Template-Strings:

    • Bei externen oder nutzerseitigen Strings
Reguläre Ausdrücke in Python

Lass uns üben!

Reguläre Ausdrücke in Python

Preparing Video For Download...