0Pricing
Python Academy · Lektion

Template-Strings und str.format

Weitere Formatierungswerkzeuge

Template-Strings und str.format ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Weitere Formatierungswerkzeuge

Zusätzlich zu f-strings bietet Python zwei weitere Formatierungswerkzeuge: die Methode str.format() und die Klasse string.Template. Jedes eignet sich für unterschiedliche Situationen.

print('Hello, {}!'.format('World'))

Grundlagen von str.format

str.format() ersetzt Platzhalter {} durch Argumente in der angegebenen Reihenfolge. Die Methode ist älter als f-strings und kommt weiterhin in viel Code vor.

msg = '{} is {} years old'.format('Ada', 36)
print(msg)

Positionsindizes

Geben Sie Zahlen in die geschweiften Klammern ein, um Argumente anhand ihrer Position wiederzuverwenden oder neu anzuordnen.

print('{0} {1} {0}'.format('echo', 'once'))

Benannte Platzhalter

Verwenden Sie Namen in den geschweiften Klammern und übergeben Sie Schlüsselwortargumente. Dadurch dokumentieren sich Templates praktisch selbst.

print('{name} scored {score}'.format(name='Lin', score=95))

Formatspezifizierer gelten weiterhin

Dieselbe Mini-Sprache funktioniert in str.format nach einem Doppelpunkt, sodass Sie Breite, Genauigkeit und Ausrichtung steuern können.

print('{:.2f}'.format(3.14159))
print('{:>8}'.format('hi'))

Aus einem dict formatieren

Entpacken Sie ein Dictionary mit ** in str.format, um benannte Platzhalter zu füllen.

data = {'city': 'Rome', 'temp': 27}
print('{city}: {temp} C'.format(**data))

Template-Strings kennenlernen

string.Template verwendet Platzhalter auf Basis von $. Die Klasse ist bewusst einfach gehalten und sicherer für von Benutzern bereitgestellte Templates, da sie keine beliebigen Ausdrücke ausführen kann.

from string import Template
t = Template('Hello, $name!')
print(t.substitute(name='World'))

Geschweifte Klammern für mehr Klarheit

Setzen Sie einen Platzhalternamen in geschweifte Klammern, etwa ${name}, wenn er direkt neben anderem Text steht.

from string import Template
t = Template('${item}s cost $$5')
print(t.substitute(item='apple'))

safe_substitute

substitute löst bei fehlenden Namen einen KeyError aus. safe_substitute lässt unbekannte Platzhalter dagegen unverändert.

from string import Template
t = Template('$greeting, $name')
print(t.safe_substitute(greeting='Hi'))

Wann welches Werkzeug verwenden

Als Richtlinie gilt: Bevorzugen Sie f-strings für alltäglichen Code. Verwenden Sie str.format, wenn das Template von den Daten getrennt ist. Verwenden Sie Template für nicht vertrauenswürdige, von Benutzern bereitgestellte Templates.

name = 'Sam'
print(f'f-string: {name}')
print('format: {}'.format(name))

Vorlagen aus externem Text

Da der Vorlagentext lediglich eine Zeichenkette ist, können Sie ihn aus einer Konfigurationsdatei oder Datenbank laden und anschließend zur Laufzeit Werte einsetzen.

from string import Template
stored = 'Order $id ships to $city'
t = Template(stored)
print(t.substitute(id=7, city='Oslo'))

Wissenscheck

Welches Werkzeug ist am sichersten, um Werte in eine von einem nicht vertrauenswürdigen Benutzer bereitgestellte Vorlage einzusetzen?

Rückblick: Template-Strings und str.format

Zusammenfassung der Alternativen zu f-Strings:

  • str.format() verwendet Platzhalter mit {} und unterstützt positionale und benannte Argumente sowie die vollständige Formatangabe.
  • string.Template verwendet Platzhalter mit $name und ist bei nicht vertrauenswürdigen Eingaben sicher.
  • safe_substitute lässt unbekannte Platzhalter unverändert stehen.
  • Bevorzugen Sie f-Strings für normalen Code. Verwenden Sie diese Werkzeuge, wenn Vorlagen extern bereitgestellt werden oder nicht vertrauenswürdig sind.
from string import Template
print(Template('Bye, $who').substitute(who='all'))
print('Done: {}'.format(True))

Häufig gestellte Fragen

Ist die Lektion „Template-Strings und str.format“ kostenlos?

Ja — der vollständige Text von „Template-Strings und str.format“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Template-Strings und str.format“?

Weitere Formatierungswerkzeuge Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Template-Strings und str.format“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. f-string-Ausdrücke
  2. Formatspezifizierer
  3. Format-Mini-Sprache
  4. Template-Strings und str.format
← Zurück zu Python Academy