Найти тему
IT для всех

Python. Форматированный вывод

Оглавление

Теория

В Python можно при выводе вставлять нужные переменные посреди строки, не редактируя её. Это можно сделать с помощью string метода .format().

Рассмотрим документацию(которую мы научились читать тут) к .format():

Или же, в переводе:

Возвращает форматированную версию S, используя подстановки из args и kwargs.
Подстановки обозначаются фигурными скобками ('{'и '}').

Здесь указано, что можно использовать подстановки из args и kwargs.

args - любая последовательность аргументов (любые одиночные переменные)

kwargs - или же пары: ключ-значение (доступ к значению по ключу или же атрибуту).

По аналогии с передачей в функции - *args и **kwargs, которые я рассматривал в одной из прошлых статей.

Синтаксис:

S.format(*args, **kwargs) -> str

Практика

Подстановка с помощью {}

Когда мы ничего не указываем в фигурных скобках, то переданные аргументы в метод format будут позиционными.

Соответственно их количество должно совпадать с количеством вставленных фигурных скобок.

-2

Сами фигурные скобки не учитываются как часть строки, а являются лишь специальным символом для вставки.

Позиционирование подстановки вручную с помощью {0} {1} ...

Мы можем цифрами указывать какой по счёту переданный аргумент в format, в какую скобку вставлять:

-3

Конечно же можно нарушать порядок:

-4

Главное помнить, что в format аргументы будут всегда под цифрами:

S.format(0, 1, 2, 3 ...)

Явное указание атрибутов в скобках

Также можно явно указывать, что мы хотим передать в фигурные скобки:

-5

И передавать в скобки ключ.

Обращение к методам переданных аргументов

-6

Тут у объекта res существуют методы: url и status_code. В обычном варианте мы бы писали res.url и res.status_code.

Пишем 0.url - так как 0 позиция аргумента в format(подразумеваем res)

Указание количества цифр после запятой

Ещё можем указывать количество цифр после запятой:

-7

Наука
7 млн интересуются