Вграденият метод 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.








