Вбудований метод format () повертає відформатоване подання заданого значення, керованого специфікатором формату.
format()
Функція аналогічна методу формату рядка. Внутрішньо обидва методи викликають __format__()
метод об'єкта.
Хоча вбудована format()
функція є реалізацією низького рівня для внутрішнього форматування об'єкта __format__()
, рядок format()
- це реалізація більш високого рівня, здатна також виконувати складні операції форматування для декількох рядків об'єктів.
Синтаксис format () такий:
формат (значення (, format_spec))
format () Параметри
format()
Функція приймає два параметри:
- value - значення, яке потрібно відформатувати
- format_spec - специфікація форматування значення.
Специфікатор формату може бути у форматі:
((заливка) вирівнювання) (знак) (#) (0) (ширина) (,) (. точність) (тип) де параметри заповнюються :: = будь-який символ вирівнювання :: = "" | "=" | "^" знак :: = "+" | "-" | "" ширина :: = ціла точність :: = цілий тип :: = "b" | "с" | "d" | "е" | "Е" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "х" | "Х" | "%"
Відвідайте ці посилання, щоб дізнатись більше про типи форматів та вирівнювання.
Повернути значення з формату ()
format()
Функція повертає отформатированную уявлення заданого значення , зазначеного формату.
Приклад 1: Форматування чисел за допомогою format ()
# d, f and b are type # integer print(format(123, "d")) # float arguments print(format(123.4567898, "f")) # binary format print(format(12, "b"))
Вихідні дані
123 123,456790 1100
Приклад 2: Форматування чисел із заливкою, вирівнюванням, знаком, шириною, точністю та типом
# integer print(format(1234, "*>+7,d")) # float number print(format(123.4567, "^-09.3f"))
Вихідні дані
* + 1234 0123,4570
Тут, під час форматування цілого числа 1234
, ми вказали специфікатор форматування *>+7,d
. Давайте розберемося з кожним варіантом:
*
- Це символ заповнення, який заповнює порожні місця після форматування>
- Це правильний варіант вирівнювання, який вирівнює вихідний рядок праворуч+
- Це варіант знаку, який змушує номер підписуватися (маючи знак зліва)7
- Саме параметр ширини змушує число приймати мінімальну ширину 7, інші пробіли заповнюються символом заливки,
- Це оператор тисяч, який ставить кому між усіма тисячами.d
- Саме параметр типу вказує, що число є цілим числом.
Під час форматування числа з плаваючою комою 123.4567
ми вказали специфікатор формату ^-09.3f
. Це:
^
- Це варіант вирівнювання по центру, який вирівнює вихідний рядок до центру залишку місця-
- Це варіант знака, який змушує показувати знак лише негативні числа0
- Це символ, який розміщується на місці порожніх пробілів.9
- Це варіант ширини, який встановлює мінімальну ширину числа до 9 (включаючи десяткову крапку, тисячу коми та знак).3
- Саме оператор точності встановлює точність даного плаваючого числа в 3 місцяf
- Це параметр типу, який визначає число з плаваючою лінією.
Приклад 3: Використання format () шляхом заміни __format __ ()
# custom __format__() method 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.