Уграђена метода формат () враћа форматирани приказ дате вредности контролисане спецификатором формата.
format()
Функција је сличан метод стринг формату. Интерно обе методе позивају __format__()
методу објекта.
Иако је уграђена format()
функција имплементација ниског нивоа за __format__()
интерно форматирање објекта , стринг format()
је имплементација вишег нивоа која може да изводи сложене операције форматирања и на више низова објеката.
Синтакса формата () је:
формат (вредност (, формат_спец))
формат () Параметри
format()
Функција узима два параметра:
- вредност - вредност коју треба форматирати
- формат_спец - Спецификација начина форматирања вредности.
Спецификатор формата може бити у формату:
((попунити) поравнати) (знак) (#) (0) (ширина) (,) (. прецизност) (тип) где су опције филл :: = било који знак поравнати :: = "" | "=" | знак "^" :: = "+" | "-" | "" видтх :: = интегер прецизност :: = интегер типе :: = "б" | "ц" | "д" | "е" | "Е" | "ф" | "Ф" | "г" | "Г" | "н" | "о" | "с" | "к" | "Кс" | "%"
Посетите ове везе да бисте сазнали више о врстама формата и поравнању.
Врати вредност из формата ()
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: Коришћење формата () заменом __формат __ ()
# 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.