DANFA

Python: Функция format()

Магия .format() в Python: от простого к продвинутому формату строк

Python славится своими возможностями обработки текста благодаря мощному инструментарию для работы со строками. Одной из самых популярных и универсальных функций в этом плане является метод .format(). Сегодня мы поговорим о нём подробнее, начиная с базовых примеров и заканчивая хитрыми трюками, позволяющими добиться максимальной эффективности при выводе строк.

Базовая работа метода .format()


Метод .format() позволяет вставлять значения переменных внутрь строки, используя фигурные скобки { } в качестве заполнителей.
name = 'Иван'
age = 30
print('Меня зовут {0}, мне {1} лет'.format(name, age))

Результат вывода:
Меня зовут Иван, мне 30 лет

Здесь цифры (0, 1) указывают порядковый индекс аргумента, который передается в метод .format(). Этот способ удобен и прост, однако существует ряд полезных расширений.

Автоматическое упорядочивание значений


Иногда нам необязательно указывать индексы, достаточно передать аргументы в нужном порядке:
print('Имя: {}, Возраст: {}'.format('Анна', 25))

Результат:
Имя: Анна, Возраст: 25

Однако иногда удобнее именованные параметры, чтобы избежать путаницы:
print('Имя: {name}, Возраст: {age}'.format(name='Сергей', age=35))

Результат:
Имя: Сергей, Возраст: 35

Форматирование чисел


Форматировать числа тоже можно изящно с помощью .format(). Например, отображаем число с фиксированным количеством знаков после запятой:
price = 19.99
print('Цена товара: {:.2f} руб.'.format(price)) # Отображаем ровно две десятичных цифры

Результат:
Цена товара: 19.99 руб.

Можно также управлять выравниванием и длиной полей:
for num in range(1, 11):
    print('{num:02d}'.format(num=num)) # Заполняем пробелы нулями слева

Результат:
01
02
...
10

Продвинутые возможности: форматирование дат


Используя специальные символы формата, можно выводить даты разными способами:
from datetime import datetime
now = datetime.now()
print(now.strftime('%Y-%m-%d %H:%M')) # Классический формат даты-времени
print('Сегодня: {:%A, %d %B %Y}'.format(now)) # Полный формат с днем недели и месяцем прописью

Результат:
2023-10-10 15:30
Сегодня: Tuesday, 10 October 2023

Вложенный вызов .format()


Метод .format() допускает вложенность, позволяя формировать сложные выражения динамически:
data = {'title': 'Новый Год'}
message = '{event}: {countdown} дней до праздника!'
final_message = message.format(event=data['title'], countdown=30)
print(final_message)

Результат:
Новый Год: 30 дней до праздника!

Метод .format() открывает широкие возможности для эффективного и красивого форматирования строк в Python. Даже опытные разработчики часто находят для себя новые приемы, открывающие скрытые возможности этой простой, но невероятно мощной функции. Экспериментируйте и наслаждайтесь возможностями Python для обработки строк!

Справочник Python
Автор:  30.09.2025 03:33:23 pm