Формат Python ()

Встроенный метод 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.

Интересные статьи...