Форматирование строк Python
Чтобы убедиться, что строка будет отображаться так, как ожидается, мы можем отформатировать результат с помощью format()
метода.
Формат строки ()
Метод format()
позволяет форматировать выбранные части строки.
Иногда есть части текста, которые вы не контролируете, может быть, они взяты из базы данных или пользовательского ввода?
Чтобы управлять такими значениями, добавьте в текст заполнители (фигурные скобки {}
) и пропустите значения через
format()
метод:
Пример
Добавьте местозаполнитель, где вы хотите отобразить цену:
price = 49
txt = "The price is {} dollars"
print(txt.format(price))
Вы можете добавить параметры внутри фигурных скобок, чтобы указать, как преобразовать значение:
Пример
Отформатируйте отображаемую цену как число с двумя десятичными знаками:
txt = "The price is {:.2f} dollars"
Ознакомьтесь со всеми типами форматирования в нашем справочнике String format() .
Несколько значений
Если вы хотите использовать больше значений, просто добавьте больше значений в метод format():
print(txt.format(price, itemno, count))
И добавьте больше заполнителей:
Пример
quantity = 3
itemno = 567
price = 49
myorder = "I want {} pieces of
item number {} for {:.2f} dollars."
print(myorder.format(quantity, itemno, price))
Номера индексов
Вы можете использовать порядковые номера (числа внутри фигурных скобок {0}
), чтобы убедиться, что значения помещены в правильные заполнители:
Пример
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))
Кроме того, если вы хотите ссылаться на одно и то же значение более одного раза, используйте порядковый номер:
Пример
age = 36
name = "John"
txt = "His name is {1}. {1} is {0} years old."
print(txt.format(age,
name))
Именованные индексы
Вы также можете использовать именованные индексы, введя имя в фигурных скобках {carname}
, но тогда вы должны использовать имена при передаче значений параметров
txt.format(carname = "Ford")
:
Пример
myorder = "I have a {carname}, it is a {model}."
print(myorder.format(carname
= "Ford", model = "Mustang"))