Форматирование строк
Форматирование строк в Python позволяет вставлять значения переменных или результатов выражений в строки.
Это делает код более читаемым и удобным для работы с текстовыми данными.
В Python есть несколько способов форматирования строк, среди которых наиболее популярными являются f-строки (начиная с Python 3.6) и метод .format().
F-строки (f-strings)
F-строки — это современный и удобный способ форматирования строк, который появился в Python 3.6. Они позволяют вставлять значения переменных или выражений прямо в строку, используя фигурные скобки {}.
- Простота и читаемость.
- Возможность вставлять выражения прямо в строку.
- Высокая производительность (быстрее, чем
.format()или%-форматирование).
Метод .format()
Метод .format() — это более старый, но всё ещё популярный способ форматирования строк.
Он позволяет подставлять значения в строку, используя фигурные скобки {} и метод .format().
.format():
- Гибкость (можно указывать порядок аргументов или использовать именованные аргументы).
- Поддержка в старых версиях Python (до 3.6).
Сравнение f-строк и .format()
| Характеристика | F-строки | .format() |
|---|---|---|
| Читаемость | Высокая | Средняя |
| Производительность | Высокая | Ниже, чем у f-строк |
| Поддержка выражений | Да (внутри {}) |
Нет (только переменные) |
| Совместимость | Python 3.6+ | Все версии Python |
| Форматирование чисел | Да (например, {pi:.2f}) |
Да (например, {0:.2f}) |
Примеры использования
Пример 1: Форматирование таблицы.format()
Когда что использовать?
-
F-строки — предпочтительный способ в Python 3.6 и выше. Они проще, читабельнее и быстрее.
-
.format()— полезен, если нужно поддерживать старые версии Python (до 3.6) или если требуется более сложное форматирование с использованием именованных аргументов.
Дополнительные возможности форматирования
- Выравнивание текста:
text = f"{'left':<10} {'center':^10} {'right':>10}" print(text) # left center right
- Форматирование чисел:
number = 1234567890 text = f"Число с разделителями: {number:,}" print(text) # Число с разделителями: 1,234,567,890
- Форматирование дат:
from datetime import datetime today = datetime.now() text = f"Сегодня: {today:%d.%m.%Y}" print(text) # Сегодня: 25.10.2023
Форматирование строк — мощный инструмент, который делает код более выразительным и удобным для работы с текстовыми данными. Выбор между f-строками и .format() зависит от версии Python и конкретных требований задачи.