48 lines
3.0 KiB
Python
Executable File
48 lines
3.0 KiB
Python
Executable File
#Слева указать спецификаторы после знака %, справа указать то, на что эти спецификаторы заменить
|
||
#d = десятичное число, s = строка
|
||
formating = "That's %d %s bird" % (1, "dead")
|
||
print(formating)
|
||
|
||
x = 1234
|
||
#%[(name)][flags][width][.precision]спец
|
||
# name = ключ в словаре. При указании * для width и precision значение возьмётся из элемента в списке входных значений
|
||
#-10 = отступ слева. при указании отриц. числа превращается в отступ справа
|
||
#06 = поле становится равным 6 и добавляются вводные нули вместо отсутпа
|
||
res = "integers: ...%d...%-10d...%06d" % (x, x, x)
|
||
print(res)
|
||
|
||
#f = вещественное число
|
||
#. используется для определения кол-ва знаков после запятой
|
||
res = "%f...%.2f" % (1/3.0, 1/3.0)
|
||
print(res)
|
||
|
||
#Использование словаря:
|
||
formating = "%(number)d %(text)s" % {"number" : 1, "text" : "spam"}
|
||
print("\n", formating)
|
||
|
||
#*****************************************Методы форматирования*****************************************
|
||
|
||
#Могут использоваться именованные аргументы или номера аргументов
|
||
template = "{motto}, {0} and {food}"
|
||
print(template.format("ham", motto="spam", food="eggs"))
|
||
|
||
import sys
|
||
#Для ссылки на объект в словаре необходимо указать положение словаря в списке входных значений (1) и ключ объекта в квадратных скобках [spam]
|
||
#Для ссылки на атрибут объекта нужно применить точку (.platform)
|
||
template = "My {1[spam]} runs {0.platform}".format(sys, {"spam": "laptop"})
|
||
print(template)
|
||
|
||
somelist = list("spam")
|
||
#Использование отрицательных значений внутри строки формата приводит к ошибке
|
||
#Также нельзя создавать срезы внутри строки формата
|
||
#Поэтому объект нужно указать вне строки. |
|
||
template = "first = {0[0]}, last = {1}".format(somelist, somelist[-1])
|
||
print(template)
|
||
|
||
#Синтаксис точного форматирования: {fieldname!conversionflag:formatspec}
|
||
#Синтаксис formatspec: [[fill]align][sign][#][0][width][.precision][typecode] (В квадратных скобках необязательные компоненты)
|
||
#< = выравнивание слева, > = выравнивание справа
|
||
print("\n{0:>10} = {1:<10}".format("spam", 123.4567))
|
||
|
||
#Извлечение значения из списка аргументов:
|
||
print("{0:.{1}f}".format(3.14159, 2)) |