Formatierung von Python -Strings
Um sicherzustellen, dass eine Zeichenfolge wie erwartet angezeigt wird, können wir das Ergebnis mit der format()
Methode formatieren.
Zeichenfolgenformat ()
Mit der format()
Methode können Sie ausgewählte Teile einer Zeichenfolge formatieren.
Manchmal gibt es Teile eines Textes, die Sie nicht kontrollieren, vielleicht stammen sie aus einer Datenbank oder Benutzereingaben?
Um solche Werte zu steuern, fügen Sie Platzhalter (geschweifte Klammern {}
) in den Text ein und führen Sie die Werte durch die
format()
Methode:
Beispiel
Fügen Sie einen Platzhalter hinzu, an dem Sie den Preis anzeigen möchten:
price = 49
txt = "The price is {} dollars"
print(txt.format(price))
Sie können Parameter in den geschweiften Klammern hinzufügen, um anzugeben, wie der Wert konvertiert werden soll:
Beispiel
Formatieren Sie den anzuzeigenden Preis als Zahl mit zwei Dezimalstellen:
txt = "The price is {:.2f} dollars"
Sehen Sie sich alle Formatierungstypen in unserer String format()-Referenz an .
Mehrere Werte
Wenn Sie mehr Werte verwenden möchten, fügen Sie einfach weitere Werte zur Methode format() hinzu:
print(txt.format(price, itemno, count))
Und fügen Sie weitere Platzhalter hinzu:
Beispiel
quantity = 3
itemno = 567
price = 49
myorder = "I want {} pieces of
item number {} for {:.2f} dollars."
print(myorder.format(quantity, itemno, price))
Indexnummern
Sie können Indexnummern (eine Zahl in den geschweiften Klammern {0}
) verwenden, um sicherzustellen, dass die Werte in den richtigen Platzhaltern platziert werden:
Beispiel
quantity = 3
itemno = 567
price = 49
myorder = "I want {0} pieces of
item number {1} for {2:.2f} dollars."
print(myorder.format(quantity, itemno, price))
Wenn Sie auf denselben Wert mehr als einmal verweisen möchten, verwenden Sie außerdem die Indexnummer:
Beispiel
age = 36
name = "John"
txt = "His name is {1}. {1} is {0} years old."
print(txt.format(age,
name))
Benannte Indizes
Sie können auch benannte Indizes verwenden, indem Sie einen Namen in die geschweiften Klammern eingeben {carname}
, aber dann müssen Sie Namen verwenden, wenn Sie die Parameterwerte übergeben
txt.format(carname = "Ford")
:
Beispiel
myorder = "I have a {carname}, it is a {model}."
print(myorder.format(carname
= "Ford", model = "Mustang"))