Formatowanie ciągów w Pythonie
Aby upewnić się, że ciąg będzie wyświetlany zgodnie z oczekiwaniami, możemy sformatować wynik za pomocą format()
metody.
Format ciągu ()
Metoda format()
pozwala na formatowanie wybranych części ciągu.
Czasami są fragmenty tekstu, których nie kontrolujesz, może pochodzą z bazy danych lub danych wejściowych użytkownika?
Aby kontrolować takie wartości, dodaj symbole zastępcze (nawiasy klamrowe {}
) w tekście i przeprowadź wartości za pomocą
format()
metody:
Przykład
Dodaj symbol zastępczy, w którym chcesz wyświetlić cenę:
price = 49
txt = "The price is {} dollars"
print(txt.format(price))
Możesz dodać parametry w nawiasach klamrowych, aby określić sposób konwersji wartości:
Przykład
Sformatuj wyświetlaną cenę jako liczbę z dwoma miejscami po przecinku:
txt = "The price is {:.2f} dollars"
Sprawdź wszystkie typy formatowania w naszym String format() Reference .
Wiele wartości
Jeśli chcesz użyć więcej wartości, po prostu dodaj więcej wartości do metody format():
print(txt.format(price, itemno, count))
I dodaj więcej symboli zastępczych:
Przykład
quantity = 3
itemno = 567
price = 49
myorder = "I want {} pieces of
item number {} for {:.2f} dollars."
print(myorder.format(quantity, itemno, price))
Numery indeksowe
Możesz użyć numerów indeksu (liczby w nawiasach klamrowych {0}
), aby upewnić się, że wartości są umieszczane we właściwych symbolach zastępczych:
Przykład
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))
Ponadto, jeśli chcesz odwołać się do tej samej wartości więcej niż raz, użyj numeru indeksu:
Przykład
age = 36
name = "John"
txt = "His name is {1}. {1} is {0} years old."
print(txt.format(age,
name))
Indeksy nazwane
Możesz również użyć nazwanych indeksów, wprowadzając nazwę w nawiasach klamrowych {carname}
, ale wtedy musisz użyć nazw, gdy przekazujesz wartości parametrów
txt.format(carname = "Ford")
:
Przykład
myorder = "I have a {carname}, it is a {model}."
print(myorder.format(carname
= "Ford", model = "Mustang"))