Найти в Дзене
programmer's notes (python and more)

Метод format() в Python. Дополнение к подборке "Базовый курс программирования на Python"

Доброго времени суток, читатели, зрители моего канала programmer's notes.

Это дополнение к базовому курсу

Базовый курс программирования на Python | programmer's notes | Дзен

Метода format() в Python

В статье

я упомянул о методе format() и пообещал, что напишу о нём и, на некоторое время, об этом забыл. Но пришло время вернуть долг.

Также рекомендую посмотреть статью

Это метод строковых переменных. Идея его очень проста. В самом методе перечисляются параметры, которые могут быть разного типа и которые могут быть и позиционные и именованные. А в самой строке идёт ссылка на эти параметры с возможностью указания формата вывода.

Сразу начнём с простого примера

print('Я {0:}, {1:d}, зарплата {2:}р.'.format('Иванов', 50, 90000.8))
print('Я {name:}, {old:d}, зарплата {sal:}р.'.format(name='Иванов', old=50, sal=90000.8))
print('Я {}, {}, зарплата {}р.'.format('Иванов', 50, 90000.8))

результат выполнения

Я Иванов, 50, зарплата 90000.8р.
Я Иванов, 50, зарплата 90000.8р.
Я Иванов, 50, зарплата 90000.8р.

Результат, всех трех функций print() одинаков. В первой строке подход позиционный, во второй — используются именованные параметры, в третьей — работает умолчание, которое предполагает тот порядок соответствия, который задан в функции format(). В дальнейшем я буду использовать позиционный подход. {1:d}, d в данном случае указывает, что параметр интерпретируется как целое число. Хотя в данном случае d не обязателен, так как 50 и так целое число, а другие параметры форматирования мы не используем.

Некоторые элементы форматирования укажем ниже в таблицах.

Элементы форматирования чисел
Элементы форматирования чисел
Выравнивания
Выравнивания

Ну а теперь перейдём к примерам

print('Число {0:d} - {0:b}, {0:x}, {0:o} '.format(50))

Результат выполнения

Число 50 - 110010, 32, 62

Как видим, можно обращаться к одному и тому же параметру произвольное количество раз

Продолжаем. Примеры форматного вывода целых и вещественных чисел.

print('Число с удлинением  {0:10d}  '.format(50))
print('Число с заполнением {0:010d}  '.format(50))
print('Число с удлинением  {0:10.2f}  '.format(50.234))
print('Число с заполнением {0:010.2f}  '.format(50.234))

Результат

Чтобы показать отступы пришлось делать скриншот
Чтобы показать отступы пришлось делать скриншот

Надеюсь, смысл работы форматов довольно ясен и не требует пояснений.

Примеры с выравниваниями

print('Выравнивание по центру  {0:^10d}  '.format(50))
print('Выравнивание по центру  {0:^010d}  '.format(50))
print('Выравнивание по слева   {0:>010d}  '.format(50))

Результат выполнения

Примеры выравнивания
Примеры выравнивания

Приведём теперь примеры форматного вывода со строками

print('Пять символов слова     {0:.5}  '.format('Многовекторный'))
print('Пять символов по центру {0:*^11.5}  '.format('Многовекторный'))
print('Пять символов справа    {0:*>11.5}  '.format('Многовекторный'))
print('Пять символов слева     {0:*<11.5}  '.format('Многовекторный'))

Результат выполнения

Форматирование строк
Форматирование строк

А это как можно использовать фигурные скобки

print('В фигурных скобках {{{0:}}}  '.format('Многовекторный'))

результат выполнения

В фигурных скобках {Многовекторный}

Хорошего программирования. Оставляйте свои комментарии, не забывайте про лайки и подписывайтесь на мой канал programmer's notes.

Кроме обычных параметров на входе и выходе вышей программы должен быть пользователь. Иногда пользователь на выходе вам может не понравиться.
Кроме обычных параметров на входе и выходе вышей программы должен быть пользователь. Иногда пользователь на выходе вам может не понравиться.