Формат на Python ()

Вграденият метод format () връща форматирано представяне на дадената стойност, контролирана от спецификатора на формата.

Най format()функция е подобна на метода на String формат. Вътрешно и двата метода извикват __format__()метод на обект.

Докато вградената format()функция е изпълнение на ниско ниво за форматиране на обект, използващ __format__()вътрешно, низът format()е изпълнение от по-високо ниво, способно да изпълнява сложни операции за форматиране и на множество обектни низове.

Синтаксисът на format () е:

 формат (стойност (, формат_спец))

format () Параметри

Най- format()функцията се извършва по два параметъра:

  • стойност - стойност, която трябва да бъде форматирана
  • format_spec - Спецификацията за начина на форматиране на стойността.

Спецификаторът на формата може да бъде във формат:

((запълване) подравняване) (знак) (#) (0) (ширина) (,) (. прецизност) (тип), където опциите са запълване :: = всеки знак за подравняване :: = "" | "=" | "^" знак :: = "+" | "-" | "" ширина :: = цялостна точност :: = цяло число тип :: = "b" | "в" | "d" | "д" | "E" | "е" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"

Посетете тези връзки, за да научите повече за типовете формати и подравняването.

Връщане на стойност от формат ()

Най format()функцията връща форматиран представяне на дадена стойност, определена от спецификатора формат.

Пример 1: Форматиране на числа с формат ()

 # 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.

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