Функція format() форматує вказані значення та вставляє їх у заповнювач рядка. Заповнювач визначається за допомогою фігурних дужок {}. Функція format() повертає відформатований рядок.
Наприклад:
|
1 2 3 4 5 |
value = 45 # Форматуємо ціле число у двійкове binary_value = format(value, 'b') print(binary_value) |
Результат:
101101
Синтаксис функції format()
|
1 |
format(value[, format_spec]) |
Параметри функції format()
Функція format() приймає два параметри:
value — значення, яке необхідно відформатувати;
format_spec — специфікація того, як слід відформатувати значення.
Специфікатор формату може бути наступним:
|
1 2 3 4 5 6 7 8 9 |
[[fill]align][sign][#][0][width][,][.precision][type] де опції: fill ::= будь-який символ align ::= "<" | ">" | "=" | "^" sign ::= "+" | "-" | " " width ::= ціле число precision ::= ціле число type ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%" |
Значення, яке повертає функція format()
Функція format() повертає форматоване представлення заданого значення.
Приклад №1: Форматування числа за допомогою функції format()
|
1 2 3 4 5 6 7 8 9 10 |
# d, f та b є скороченнями назв типів даних # Ціле число print(format(123, "d")) # Число з плаваючою крапкою print(format(123.4567898, "f")) # Двійкове число print(format(12, "b")) |
Результат:
123
123.456790
1100
Приклад №2: Форматування числа за допомогою fill, align, sign, width, precision та type
|
1 2 3 4 5 |
# Ціле число print(format(1234, "*>+7,d")) # Число з плаваючою крапкою print(format(123.4567, "^-09.3f")) |
Результат:
*+1,234
0123.4570
Тут при форматуванні цілого числа 1234 ми вказали специфікатор форматування *>+7,d. Розберемо кожну опцію:
* — це символ заповнення, який заповнює порожні місця після форматування;
> — це опція вирівнювання по правому краю;
+ — це опція знаку, яка змушує число мати знак зліва;
7 — це опція ширини, яка змушує число приймати мінімальну ширину 7, інші пробіли будуть заповнені символом заповнення;
, — це оператор тисяч, який ставить кому між тисячами;
b — це тип опції, який вказує, що число є цілим числом.
При форматуванні числа з плаваючою крапкою 123.4567 ми вказали специфікатор формату ^-09.3f. Розберемо детально:
^ — це опція вирівнювання по центру, яка вирівнює вихідний рядок по центру простору, що залишився;
- — це опція знака, яка додає знак від’ємним числам;
0 — це символ, який ставиться на місце порожніх місць;
9 — це опція ширини, яка встановлює мінімальну ширину числа рівною 9 (включаючи десяткову крапку, кому тисяч і знак);
.3 — це оператор точності, який встановлює точність заданого числа з плаваючою крапкою до 3 знаків;
f — це опція типу, яка вказує, що число є числом з плаваючою крапкою.
Приклад №3: Використання функції format(), перевизначаючи метод __format__()
|
1 2 3 4 5 6 7 8 |
# Користувацький метод __format__() class Person: def __format__(self, format): if(format == 'age'): return '23' return 'None' print(format(Person(), "age")) |
Результат:
23
Тут ми перевизначили метод __format__() класу Person. Метод приймає параметр format і повертає 23, якщо він дорівнює age. Якщо формат не вказано, повертається None.
Функція format() всередині виконує Person().__format__("age"), щоб повернути 23.
Вбудована функція format() vs. Рядковий метод format()
Функція format() дуже схожа на рядковий метод format(). Всередині обидва методи викликають метод __format__() об’єкта класу.
У той час як вбудована функція format() є низькорівневою реалізацією для форматування об’єкта з використанням внутрішнього методу __format__(), рядковий метод format() є реалізацією вищого рівня, яка здатна також виконувати комплексні операції форматування для декількох об’єктів.

(4 оцінок, середня: 4,00 з 5)