#Слева указать спецификаторы после знака %, справа указать то, на что эти спецификаторы заменить #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))