🧩 Плейсхолдеры (заполнители) в методе str.format() — это места в строке, куда подставляются значения. Они обозначаются фигурными скобками {}, а метод потом «заполняет» их переданными аргументами.
Базовые плейсхолдеры
name = "Алекс"
age = 25
s = "Привет, {}! Тебе {} лет.".format(name, age)
# Результат: "Привет, Алекс! Тебе 25 лет."
Здесь {} — плейсхолдеры: первый берёт name, второй — age, по порядку.
Позиционные плейсхолдеры (с индексами)
s = "{1}, {0}!".format("мир", "Привет")
# "Привет, мир!"
Это полезно, если нужно использовать один аргумент несколько раз или менять порядок вывода без перестановки аргументов:
s = "{0} {1} {0}".format("Hello", "world")
# "Hello world Hello"
Именованные плейсхолдеры
s = "Меня зовут {name}, я из {city}.".format(name="Мария", city="Москвы")
# "Меня зовут Мария, я из Москвы."
❗️Форматирование внутри плейсхолдера
После двоеточия можно указать формат: сколько знаков, тип числа, выравнивание и т.д.
Числа
pi = 3.14159
s = "Число π ≈ {:.2f}".format(pi)
# "Число π ≈ 3.14"
. (точка) — начинается спецификатор точности.
2 — сколько знаков оставить после запятой (будет округление).
f — число с плавающей точкой (float), формат: обычное десятичное число.
s = "{:>10}".format(42) # выравнивание вправо в поле шириной 10
s = "{:<10}".format(42) # влево
s = "{:^10}".format(42) # по центру
Проценты, целые, экспоненциальный формат
ratio = 0.1234
s = "{:.1%}".format(ratio) # "12.3%"
s = "{:d}".format(100) # "100" (целое)
s = "{:e}".format(12345) # "1.234500e+04"
Примеры с разными типами данных
data = { "user": "ivan", "score": 98.765, "level": 5 }
s = "Игрок {user}, уровень {level}, счёт {score:.1f}".format(**data)
# "Игрок ivan, уровень 5, счёт 98.8"
Распаковка словаря через **data — удобный приём: ключи совпадают с именами плейсхолдеров.
Базовые плейсхолдеры
name = "Алекс"
age = 25
s = "Привет, {}! Тебе {} лет.".format(name, age)
# Результат: "Привет, Алекс! Тебе 25 лет."
Здесь {} — плейсхолдеры: первый берёт name, второй — age, по порядку.
Позиционные плейсхолдеры (с индексами)
s = "{1}, {0}!".format("мир", "Привет")
# "Привет, мир!"
Это полезно, если нужно использовать один аргумент несколько раз или менять порядок вывода без перестановки аргументов:
s = "{0} {1} {0}".format("Hello", "world")
# "Hello world Hello"
Именованные плейсхолдеры
s = "Меня зовут {name}, я из {city}.".format(name="Мария", city="Москвы")
# "Меня зовут Мария, я из Москвы."
❗️Форматирование внутри плейсхолдера
После двоеточия можно указать формат: сколько знаков, тип числа, выравнивание и т.д.
Числа
pi = 3.14159
s = "Число π ≈ {:.2f}".format(pi)
# "Число π ≈ 3.14"
. (точка) — начинается спецификатор точности.
2 — сколько знаков оставить после запятой (будет округление).
f — число с плавающей точкой (float), формат: обычное десятичное число.
s = "{:>10}".format(42) # выравнивание вправо в поле шириной 10
s = "{:<10}".format(42) # влево
s = "{:^10}".format(42) # по центру
Проценты, целые, экспоненциальный формат
ratio = 0.1234
s = "{:.1%}".format(ratio) # "12.3%"
s = "{:d}".format(100) # "100" (целое)
s = "{:e}".format(12345) # "1.234500e+04"
Примеры с разными типами данных
data = { "user": "ivan", "score": 98.765, "level": 5 }
s = "Игрок {user}, уровень {level}, счёт {score:.1f}".format(**data)
# "Игрок ivan, уровень 5, счёт 98.8"
Распаковка словаря через **data — удобный приём: ключи совпадают с именами плейсхолдеров.
Просмотры: 106