Python.Примеры.Форматирование строк
https://t.me/HotCheatSheetНемного примеров и синтаксиса по работе с методом format. Всё подробно, кратко. Настало время приключений =)
Примеры использования:
"Hello, {}!".format('world')
"{}, {}, {}".format('x', 'y', 'z') #выведет "x, y, z" "{0}, {1}, {2}".format('x', 'y', 'z') #выведет "x, y, z" "{2}, {1}, {0}".format('x', 'y', 'z') #выведет "z, y, x" "{2}, {1}, {0}".format(*'xyz') #выведет "z, y, x" "{0} {1} {0}".format('mann', 'gegen') #выведет "mann gegen mann" "My name is {name} and i'm {years} years old".format(years=35, name="Peter") #выведет "My name is Peter and i'm 35 years old" var = {"years":"35", "name":"Peter"} "My name is {name} and i'm {years} years old".format(**var) #выведет "My name is Peter and i'm 35 years old"
Синтаксис метода format
поле замены
— "{" [
имя поля
] ["!"
преобразование
] [":"
спецификация
] "}"
имя поля
— число | строка ("." имя атрибута | "[" индекс "]")*
преобразование
— "r" | "s" | "a"
спецификация
— [[
запонитель
]
выравнивание
][
знак
][#][0][
ширина
][,][.
точность
][
тип
]
заполнитель
— символ кроме '{' или '}'
выравнивание
— "<" | ">" | "=" | "^"
знак
— "+" | "-" | " "
ширина
— число
точность
— число
тип
— "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
Выравнивание:
'<
' — символы-заполнители будут справа (выравнивание объекта по левому краю) (по умолчанию).
'>
' — выравнивание объекта по правому краю.
'=
' — заполнитель будет после знака, но перед цифрами. Работает только с числовыми типами.
'^
' — выравнивание по центру.
Знак:
'+
' — знак должен быть использован для всех чисел.
'-
' — '-' для отрицательных, ничего для положительных.
'Пробел
' — '-' для отрицательных, пробел для положительных.
Тип:
'd
', 'i
', 'u
' — десятичное число.
'b
' — число в двоичной системе счисления.
'o
' — число в восьмеричной системе счисления.
'x
' — число в шестнадцатеричной системе счисления (буквы в нижнем регистре).
'X
' — число в шестнадцатеричной системе счисления (буквы в верхнем регистре).
'e
' — число с плавающей точкой с экспонентой (экспонента в нижнем регистре).
'E
' — число с плавающей точкой с экспонентой (экспонента в верхнем регистре).
'f
', 'F
' — число с плавающей точкой (обычный формат).
'g
' — число с плавающей точкой. с экспонентой (экспонента в нижнем регистре), если она меньше, чем -4 или точности, иначе обычный формат.
'G
' — число с плавающей точкой. с экспонентой (экспонента в верхнем регистре), если она меньше, чем -4 или точности, иначе обычный формат.
'c
' — символ (строка из одного символа или число - код символа).
's
' — строка.
'%
' — число умножается на 100, отображается число с плавающей точкой, а за ним знак %.
Примеры
coord = (3, 5) 'X: {0[0]}; Y: {0[1]}'.format(coord) #выведет 'X: 3; Y: 5' "repr() shows quotes: {!r}; str() doesn't: {!s}".format('test1', 'test2') #выведет "repr() shows quotes: 'test1'; str() doesn't: test2" '{:<30}'.format('left aligned') #выведет 'left aligned ' '{:>30}'.format('right aligned') #выведет ' right aligned' '{:^30}'.format('centered') #выведет ' centered ' '{:*^30}'.format('centered') #выведет '***********centered***********' '{:+f}; {:+f}'.format(3.14, -3.14) #выведет '+3.140000; -3.140000' '{: f}; {: f}'.format(3.14, -3.14) #выведет ' 3.140000; -3.140000' '{:-f}; {:-f}'.format(3.14, -3.14) #выведет '3.140000; -3.140000' # примеры типов данных "int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}".format(42) #выведет 'int: 42; hex: 2a; oct: 52; bin: 101010' # примеры типов данных с префиксами "int: {0:d}; hex: {0:#x}; oct: {0:#o}; bin: {0:#b}".format(42) #выведет 'int: 42; hex: 0x2a; oct: 0o52; bin: 0b101010' points = 19.5 total = 22 'Correct answers: {:.2%}'.format(points/total) #выведет 'Correct answers: 88.64%'