Энциклопедия Python:format()

Материал из Викижурнал
Энциклопедия Python:format()
Энциклопедия Python:format()
Энциклопедия Python:format()
Тематические порталы

format() – это функция, используемая для форматирования строк в Python. Она позволяет вставлять значения в строки, заменяя заданные метки формата в строке на конкретные значения. Это очень полезно, когда нужно выводить строки, которые зависят от некоторых данных, например, при выводе результатов вычислений.

Примеры использования

Синтаксис format() выглядит следующим образом:

formatted_string = "String with {} and {}".format(value1, value2)

Здесь фигурные скобки {} обозначают место, где нужно вставить значения value1 и value2. Количество фигурных скобок должно соответствовать количеству значений, передаваемых в функцию format(). Значения могут быть любого типа данных, например, строки, числа или даже другие переменные.

Кроме простой замены меток формата на значения, format() также позволяет задавать формат для вывода значений. Например, можно указать количество знаков после запятой для чисел с плавающей точкой, или выровнять значения по определенной ширине. Форматирование осуществляется путем указания дополнительных параметров в фигурных скобках.

Вот несколько примеров:

# вывод числа с определенным числом знаков после запятой
pi = 3.141592653589793
formatted_pi = "The value of pi is {:.2f}".format(pi)
print(formatted_pi)  # "The value of pi is 3.14"

# выравнивание значений по ширине
name = "Alice"
age = 25
formatted_info = "Name: {:10s} Age: {:5d}".format(name, age)
print(formatted_info)  # "Name: Alice      Age:    25"

# использование именованных параметров
person = {"name": "Bob", "age": 30}
formatted_person = "Name: {name}, Age: {age}".format(**person)
print(formatted_person)  # "Name: Bob, Age: 30"

Как видно из примеров, format() может быть очень гибкой и мощной функцией для форматирования строк в Python.

Примечание

Как Вы, возможно, заметили при выводе форматированного текста используются так называемые спецификаторы формата (в наших примерах это 2f, 5d). Это тема отдельной статьи, но здесь мы обозначим основные их назначения.

Спецификаторы формата используются для определения формата вывода чисел в функции format(). Они задают количество символов, которые будут выделены для вывода соответствующих числовых значений. Вот несколько примеров:

  • "d" означает целое число. Если написать "{:d}", то это означает, что на место этой фигурной скобки будет подставлено целочисленное значение. Если же написать "{:5d}", то это означает, что значение будет выровнено по правому краю и займет не менее 5 символов, если число занимает меньше символов, чем задано, то недостающие символы будут заполнены пробелами.
  • "f" означает число с плавающей точкой. Если написать "{:f}", то это означает, что на место этой фигурной скобки будет подставлено число с плавающей точкой. Если же написать "{:.2f}", то это означает, что число будет выведено с точностью до 2 знаков после запятой.

Конкретные спецификаторы формата используются для задания формата вывода чисел, строк и других объектов.

Некоторые распространенные спецификаторы формата чисел:

  • %d - десятичное целое число
  • %e, %E - число в научной нотации (экспоненциальная форма)
  • %o - восьмеричное число
  • %x, %X - шестнадцатеричное число
  • %b - бинарное число

Спецификаторы формата строк:

  • %s - строка
  • %r - строка с использованием repr()
  • %c - символ (строка из одного символа)

Каждый спецификатор может сопровождаться дополнительными параметрами, которые определяют, какое значение и какой формат должны быть применены. Например, для спецификатора %f можно использовать .2f для вывода значения с точностью до двух знаков после запятой.

Есть и другие спецификаторы, которые можно использовать с функцией format(), такие как спецификаторы даты и времени (%d, %m, %y и т. д.) и другие спецификаторы, специфичные для конкретных типов данных, например, для форматирования чисел с использованием группировки разрядов или для вывода чисел в денежном формате.

Другие страницы о Python