Opmaak van Python- tekenreeksen
Om ervoor te zorgen dat een tekenreeks wordt weergegeven zoals verwacht, kunnen we het resultaat opmaken met de format()
methode.
Tekenreeksindeling()
Met format()
deze methode kunt u geselecteerde delen van een tekenreeks opmaken.
Soms zijn er delen van een tekst waar je geen controle over hebt, misschien komen ze uit een database, of gebruikersinvoer?
Om dergelijke waarden te beheren, voegt u tijdelijke aanduidingen (accolades {}
) toe aan de tekst en voert u de waarden uit via de
format()
methode:
Voorbeeld
Voeg een tijdelijke aanduiding toe waar u de prijs wilt weergeven:
price = 49
txt = "The price is {} dollars"
print(txt.format(price))
U kunt parameters tussen de accolades toevoegen om aan te geven hoe de waarde moet worden geconverteerd:
Voorbeeld
Formatteer de prijs die moet worden weergegeven als een getal met twee decimalen:
txt = "The price is {:.2f} dollars"
Bekijk alle opmaaktypes in onze String format() Reference .
Meerdere waarden
Als u meer waarden wilt gebruiken, voegt u gewoon meer waarden toe aan de format()-methode:
print(txt.format(price, itemno, count))
En voeg meer tijdelijke aanduidingen toe:
Voorbeeld
quantity = 3
itemno = 567
price = 49
myorder = "I want {} pieces of
item number {} for {:.2f} dollars."
print(myorder.format(quantity, itemno, price))
Indexnummers
U kunt indexnummers (een getal tussen de accolades {0}
) gebruiken om er zeker van te zijn dat de waarden in de juiste tijdelijke aanduidingen worden geplaatst:
Voorbeeld
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))
Als u meerdere keren naar dezelfde waarde wilt verwijzen, gebruikt u ook het indexnummer:
Voorbeeld
age = 36
name = "John"
txt = "His name is {1}. {1} is {0} years old."
print(txt.format(age,
name))
Benoemde indexen
U kunt ook benoemde indexen gebruiken door een naam tussen de accolades in te voeren {carname}
, maar dan moet u namen gebruiken wanneer u de parameterwaarden doorgeeft
txt.format(carname = "Ford")
:
Voorbeeld
myorder = "I have a {carname}, it is a {model}."
print(myorder.format(carname
= "Ford", model = "Mustang"))