Доброго времени суток, читатели, зрители моего канала 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.