Встроенный метод format () возвращает форматированное представление заданного значения, управляемое спецификатором формата.
format()
Функция аналогична методу формата строки. Внутри оба метода вызывают __format__()
метод объекта.
В то время как встроенная format()
функция является реализацией низкого уровня для __format__()
внутреннего форматирования объекта , string format()
- это реализация более высокого уровня, способная выполнять сложные операции форматирования также и с несколькими строками объекта.
Синтаксис функции format ():
формат (значение (, формат_спек))
format () Параметры
format()
Функция принимает два параметра:
- значение - значение, которое нужно отформатировать
- format_spec - спецификация того, как значение должно быть отформатировано.
Спецификатор формата может иметь следующий формат:
((заливка) выравнивание) (знак) (#) (0) (ширина) (,) (. точность) (тип) где, параметры: заливка :: = выравнивание любого символа :: = "" | "=" | Знак "^" :: = "+" | "-" | "" ширина :: = целочисленная точность :: = целочисленный тип :: = "b" | "с" | "д" | "е" | "E" | "е" | "F" | "г" | "G" | «п» | "о" | "с" | «х» | «Х» | "%"
Посетите эти ссылки, чтобы узнать больше о типах форматов и выравнивании.
Возвращаемое значение из format ()
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"))
Вывод
* + 1,234 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.