Python format()-Strings meistern mit klaren Beispielen
Was ist Python String format()?
Python String format() ist eine Funktion, die Platzhalter in einem String mit gültigen Werten ersetzt, substituiert oder konvertiert. Es ist eine eingebaute Methode der Python-String-Klasse, die den formatierten String als Ausgabe zurückgibt. Die Platzhalter im String werden in geschweiften Klammern definiert.
Beispielsweise: „Willkommen bei Guru99 {}“.format(‚Wert hier‘).
In diesem Tutorial lernen Sie:
- Was ist Python String format()?
- Syntax der format()-Funktion in Python
- Wie string format() funktioniert?
- Beispiel: Leerer Platzhalter ersetzt mit String-Wert
- Beispiel: Leerer Platzhalter ersetzt mit numerischem Wert
- Beispiel: Variablen oder Keyword-Argumente im Platzhalter nutzen
- Beispiel: Index- oder Positionsargumente im Platzhalter nutzen
- Formatierung innerhalb von Platzhaltern
- Klasse mit format() nutzen
- Dictionary mit format() nutzen
- Variable Substitutionen paddings
Syntax der format()-Funktion in Python
templatestring.format(val1, val2...)
Parameter
val1, val2 … : Die Werte, die im gegebenen Template-String die Platzhalter in Form von geschweiften Klammern {} ersetzen sollen. Die Platzhalter können ein String, Key/Value-Paar, Integer, Floats, Characters etc. sein.
Rückgabewert:
Es wird der finale String zurückgegeben, mit gültigen Werten anstelle der Platzhalter in geschweiften Klammern.
Platzhalter
Die Platzhalter im Template-String werden mit geschweiften Klammern dargestellt, z. B. {}. Der Platzhalter kann leer {} sein, oder eine Variable enthalten z. B. {name}, oder einen numerischen Index z. B. {0}, {1} etc.
Wie string format() funktioniert?
Bei Keyword-Argumenten wird der Variablenname innerhalb der geschweiften Klammern angegeben, z. B. {name}, {alter}. Im Fall leerer geschweifter Klammern werden die Werte aus format der Reihe nach in die geschweiften Klammern eingesetzt.
Der erste Wert ersetzt die erste leere geschweifte Klammer, gefolgt vom nächsten. Für positionale Argumente beginnt der Index bei 0 usw. Die Werte stehen in format kommasepariert zur Verfügung, und der 0-te Wert verweist auf den ersten Wert innerhalb von format usw.
Für Keyword-Argumente, d. h. wenn Sie eine Variable in Ihren Platzhaltern nutzen, kann die Reihenfolge der Werte innerhalb von format beliebig sein. Die Reihenfolge spielt keine Rolle, da die Werte basierend auf dem Variablennamen in format() ersetzt werden. Hier sind einige Beispiele, wie Platzhalter in einem String als leer, positional und mit Keywords/Variablen genutzt werden.
Beispiel: Leerer Platzhalter ersetzt mit String-Wert
Im untenstehenden Beispiel hat der String leere geschweifte Klammern({}). Der Wert, der an format übergeben wird, wird in die geschweiften Klammern({}) eingesetzt.
Der Wert, den wir ersetzen wollen, ist ein String.
Beispiel:
Mit Python String Formatting wollen wir die geschweiften Klammern ({}) durch einen String-Wert ersetzen. Der Wert wird an format(„Guru99“) übergeben. Bei Ausführung wird die geschweifte Klammer {} durch Guru99 ersetzt, und Sie erhalten den finalen String als „Willkommen bei Guru99 tutorials“.
print ("Willkommen bei {} tutorials".format("Guru99"))
Ausgabe:
Willkommen bei Guru99 tutorials
Beispiel: Leerer Platzhalter ersetzt mit numerischem Wert
Im folgenden Beispiel soll ein numerischer Wert in den Original-String eingesetzt werden. Die geschweiften Klammern({}) werden an die Stelle gesetzt, an der Sie den numerischen Wert benötigen. Bei Ausführung wird die leere geschweifte Klammer ({}) durch den numerischen Wert ersetzt.
Beispiel:
Sie können format() auch nutzen, um Zahlen in Ihren String einzufügen. Das Beispiel zeigt, wie der leere Platzhalter {} mit der Zahl 99 aus format() ersetzt wird.
print ("Willkommen bei Guru{} Tutorials".format("99"))
Ausgabe:
Willkommen bei Guru99 Tutorials
Beispiel: Variablen oder Keyword-Argumente im Platzhalter nutzen
Es ist auch möglich, Variablen innerhalb der geschweiften Klammern zu nutzen, wie im folgenden Beispiel gezeigt. Die Variablen werden innerhalb von format() definiert. Daher wird beim Ausführen der der Variable zugewiesene Wert in den Original-String eingesetzt.
Beispiel:
Sie können Variablen in geschweiften Klammern nutzen, z. B. {name} {num}. Die Werte für name und num Variable sind innerhalb von format verfügbar, z. B. format(name=„Guru“, num=„99“). Die Werte, die name und num gegeben werden, werden in {name} und {num} eingesetzt.
print ("Willkommen bei {name}{num} Tutorials".format(name="Guru", num="99"))
Ausgabe:
Willkommen bei Guru99 Tutorials
Beispiel: Index- oder Positionsargumente im Platzhalter nutzen
Die Werte können mittels Indizes wie 0, 1, 2 innerhalb der Platzhalter ersetzt werden. Der Wert wird in Reihenfolge aus format() entnommen, wie im folgenden Beispiel gezeigt.
Beispiel:
print ("Willkommen bei {0}{1} Tutorials".format("Guru","99"))
Ausgabe:
Willkommen bei Guru99 Tutorials
Beispiel: Mehrere Platzhalter in einem String nutzen
In diesem Beispiel verwenden wir mehrere leere Platzhalter.
Beispiel:
Der im Beispiel verwendete String hat mehrere leere Platzhalter und jeder Platzhalter bezieht sich auf einen Wert innerhalb von format(). Der erste Wert wird für den ersten Platzhalter ersetzt usw.
print ("{} ist {} neue Art von {} Erfahrung!".format("Guru99", "total","learning"))
Ausgabe:
Guru99 ist total neue Art von learning Erfahrung!
Formatierung innerhalb von Platzhaltern
Sie haben gesehen, dass Platzhalter leer sein können, eine Variable oder einen Index enthalten. Es ist auch möglich, Python String Formatting innerhalb des Platzhalters anzuwenden.
Hier ist die Liste der Formate
| Format | Beschreibung | Beispiel |
|---|---|---|
:d |
Gibt Ausgabe im Dezimalformat, wenn im Platzhalter verwendet | print("Der Binär-zu-Dezimal-Wert ist: {:d}".format(0b0011))Ausgabe: Der Binär-zu-Dezimal-Wert ist: 3 |
:b |
Gibt Ausgabe im Binärformat, wenn im Platzhalter verwendet | print("Der Binärwert ist: {:b}".format(500))Ausgabe: Der Binärwert ist: 111110100 |
:e |
Gibt Ausgabe im wissenschaftlichen Format (kleines e) | print("Der wissenschaftliche Wert ist: {:e}".format(40))Ausgabe: Der wissenschaftliche Formatwert ist: 4.000000e+01 |
:E |
Gibt Ausgabe im wissenschaftlichen Format (großes E) | print("Der wissenschaftliche Wert ist: {:E}".format(40))Ausgabe: Der wissenschaftliche Wert ist: 4.000000E+01 |
:f |
Gibt Fixed-Point-Format aus. Standardmäßig 6 Dezimalstellen. Für 2 Dezimalstellen nutzen Sie .2f | print("Der Wert ist: {:f}".format(40))Ausgabe: Der Wert ist: 40.000000 Beispiel: Ausgabe bis 2 Dezimalstellen.
Ausgabe: Der Wert ist: 40.00 |
:o |
Gibt Oktalformat aus | print("Der Wert ist: {:o}".format(500))Ausgabe: Der Wert ist: 764 |
:x |
Gibt Hex-Format in Kleinbuchstaben aus | print("Der Wert ist: {:x}".format(500))Ausgabe: Der Wert ist: 1f4 |
:X |
Gibt Hex-Format in Großbuchstaben aus | print("Der Wert ist: {:X}".format(500))Ausgabe: Der Wert ist: 1F4 |
:n |
Gibt Zahlenformat aus | print("Der Wert ist: {:n}".format(500.00))Ausgabe: Der Wert ist: 500 |
:% |
Gibt Prozentformat aus. Standard 6 Dezimalstellen. Für keine Dezimalstellen nutzen Sie {:.0%} | print("Der Wert ist: {:%}".format(0.80))Ausgabe: Der Wert ist: 80.000000% Beispiel ohne Dezimalstellen:
Der Wert ist: 80% |
:_ |
Gibt Unterstrich als Tausendertrenner (Python 3.6+) | print("Der Wert ist {:_}".format(1000000))Ausgabe: Der Wert ist: 1_000_000 |
:, |
Gibt Komma als Tausendertrenner | print("Der Wert ist: {:,}".format(1000000))Ausgabe: Der Wert ist: 1,000,000 |
: |
Fügt Leerzeichen vor positiven Zahlen ein | Beispiel: 5 Leerzeichen vor Zahl mit {:5}
Ausgabe: Der Wert ist: 40 |
:- |
Fügt Minuszeichen vor negativen Zahlen | print("Der Wert ist: {:-}".format(-40))Ausgabe: Der Wert ist: -40 |
:+ |
Fügt Pluszeichen vor positiven Zahlen | print("Der Wert ist: {:+}".format(40))Ausgabe: Der Wert ist: +40 |
:= |
Platziert +/- Zeichen links vom Gleichheitszeichen | print("Der Wert ist {:=}".format(-40))Ausgabe: Der Wert ist -40 |
:^ |
Zentriert das Ergebnis | print("Der Wert {:^10} ist positiver Wert".format(40))Ausgabe: Der Wert 40 ist positiver Wert |
:> |
Rechtsbündig ausrichten | print("Der Wert {:>10} ist positiver Wert".format(40))Ausgabe: Der Wert 40 ist positiver Wert |
:< |
Linksbündig ausrichten | print("Der Wert {:<10} ist positiver Wert".format(40))Ausgabe: Der Wert 40 ist positiver Wert |
Klasse mit format() nutzen
In diesem Beispiel erstellen wir eine Klasse und nutzen das Objekt der Klasse innerhalb der .format Python-Methode. Die Platzhalter referenzieren Klassen-Eigenschaften oder -Mitglieder über das Klassenobjekt.
Beispiel:
Die Klasse wird innerhalb von format(c=MyClass()) aufgerufen. Das Objekt c hat Referenz auf Eigenschaften und Methoden innerhalb von Klasse MyClass().
class MyClass:
msg1="Guru"
msg2="Tutorials"
print("Willkommen bei {c.msg1}99 {c.msg2}!".format(c=MyClass()))
Ausgabe:
Willkommen bei Guru99 Tutorials!
Dictionary mit format() nutzen
Es ist auch möglich, ein Dictionary innerhalb von format() zu nutzen, wie im folgenden Beispiel gezeigt:
my_dict = {'msg1': "Willkommen", 'msg2': 'Guru99'}
print("{m[msg1]} zu {m[msg2]} Tutorials!".format(m=my_dict))
Ausgabe:
Willkommen zu Guru99 Tutorials!
Variable Substitutionen paddings
Mit der string.format()-Methode können Sie Padding, Leerzeichen durch Platzhalter in Ihrem String hinzufügen.
Beispiel:
Im folgenden Beispiel wird Leerzeichen innerhalb des Platzhalters mittels format() hinzugefügt. Um Leerzeichen hinzuzufügen, müssen Sie die Anzahl der Leerzeichen in geschweiften Klammern nach dem Doppelpunkt(:) angeben. Der Platzhalter sieht dann wie {:5} aus.
print("Ich habe {:5} Hunde und {:5} Katzen".format(2,1))
Ausgabe:
Ich habe 2 Hunde und 1 Katzen
Sie können auch den Index im Platzhalter angeben, z. B. {0:5}, wobei 0 auf den ersten Wert in format verweist.
print("Ich habe {0:5} Hunde und {1:5} Katzen".format(2,1))
Ausgabe:
Ich habe 2 Hunde und 1 Katzen
Zusammenfassung
- Python String-Klasse bietet den wichtigen eingebauten Befehl format(), der hilft, Strings mit Platzhaltern durch gültige Werte zu ersetzen, zu substituieren oder zu konvertieren.
- Platzhalter im String-Modul Python sind in geschweiften Klammern definiert, z. B. „Willkommen bei Guru99 {}“.format(‚Wert hier‘).
- Der Platzhalter kann leer {}, eine Variable {name} oder ein numerischer Index {0}, {1} etc. sein.
- Sie können String Formatting in Python innerhalb von Platzhaltern nutzen, um Padding, Zentrierung und Zahlenformatierung hinzuzufügen.
Python
- Java String.indexOf() meistern: Substrings finden & praktische Beispiele
- Pythons strip()-Methode meistern: Umfassender Leitfaden & Praxisbeispiele
- Pythons str.count(): Zeichen & Teilstrings zählen mit Beispielen
- Pythons String.find()-Methode meistern: Syntax, Beispiele & Alternativen
- Python Lambda-Funktionen meistern: Praxisbeispiele & Best Practices
- Python round()-Funktion erklärt mit praktischen Beispielen
- Pythons map()-Funktion meistern: Syntax, Beispiele und Best Practices
- Python timeit(): Ausführungszeit messen mit praktischen Beispielen
- Python Counter in collections: Effizientes Zählen, Aktualisieren und arithmetische Operationen
- type() und isinstance() in Python verstehen: Praktische Beispiele