Найти в Дзене
J*Satori*K

Python. Статья 13. Форматирование строк с помощью метода str.format(). Спецификаторы формата.

Всем привет. Сегодня вся статья будет посвящена только методу str.format(). Буду показывать на примерах, так будет более наглядно. Итак. что мы можем сделать с использованием сего метода? Данный метод возвращает пользователю строку str, в которой замещены поля, указанные в аргументах в скобочках :). Поясню на примерах :)
print("Я {0} шарил в {1} классе ваще".format("не", 1))
>> Я не шарил в 1
Эт я после работы. Взято из яндекс-картинок.
Эт я после работы. Взято из яндекс-картинок.

Всем привет. Сегодня вся статья будет посвящена только методу str.format(). Буду показывать на примерах, так будет более наглядно. Итак. что мы можем сделать с использованием сего метода? Данный метод возвращает пользователю строку str, в которой замещены поля, указанные в аргументах в скобочках :). Поясню на примерах :)

print("Я {0} шарил в {1} классе ваще".format("не", 1))
>> Я не шарил в 1 классе ваще


{0} и {1} -
имена поля, причем если это целые числа, то они также указывают на используемый порядок при замене аргументами. То есть сначала будет использовано "не", а потом 1.
С помощью
str.format() удается также объединять строки.

a = "бл....ин"
b ="{0} {1} {2} {3}"
b = b.format(1, 2, a, "три")
print(b)
>> 1 2 бл....ин три

В качестве имен полей могут использоваться и именные аргументы, например:

print("Зачем {кто} я пишу это после {чего}?".format(кто="я", чего="работы"))
>> Зачем я я пишу это после работы?

Имена полей также могут ссылаться и на списки:

нытье = ["дайте", "поныть", "немного"]
print("{0[0]} {0[1]} {0[2]}".format(нытье))
>>дайте поныть немного

Спецификаторы формата.
Иногда нам хочется, чтобы строки выглядели красивше, или пустое пространство покрывали символы доллАров, или хотели бы, чтобы в числе после запятой было меньше цифр. Всё это позволяют сделать спецификаторы формата. Спецификаторы формата для строк начинаются с символа двоеточия, после которого следуют:
1. символ заполнитель (необязательный)
2. символ, отвечающий за выравнивание (тож необязательный) (< по левому краю; > по правому краю; ^ по центру; = заполнять нулями пространство между знаком числа и первой значащей цифрой
3. число, отвечающее за минимальную ширину выводу и через точку можно указать макс. ширину поля вывода:

a = "я устал, окончен бой, беру портвейн, а в голове глинтвейн, опа."
print("{0:.10}".format(a))

>> я устал, о

Попробуйте сами поиграться с разными вариантами :) Думаю, чтобы познакомиться с этим методом материала достаточно для начала :) Ещё больше информации вы можете найти и в других источниках. Вот, например, тут. Буду рад, если кому-то было интересно. Лайки, гневные комменты, подписки, всё приветствуется! :) Успехов в жизни и обучении!