Форматирование строк
Форматирование строк в 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 и конкретных требований задачи.