F-строки Python: расширенная интерполяция строк
Узнайте, как форматировать строки в Python с помощью F-строк. Оценка основного выражения, форматирование с плавающей запятой, печать даты и времени и самодокументируемый синтаксис.
Обзор
Форматирование строк — это задача, которую разработчики выполняют ежедневно. Исторически форматирование Python основывалось на форматировании `%` в стиле C или методе `.format()`. Несмотря на свою функциональность, эти старые стили синтаксиса часто приводили к созданию многословного и трудночитаемого кода. ВPython 3.6 представлены форматированные строковые литералы, широко известные как F-строки. F-строки предоставляют краткий, читаемый и высокооптимизированный синтаксис для вставки переменных и выражений непосредственно в строковые литералы.
Чтобы создать F-строку, вы добавляете к строковому литералу префикс `f` или `F` (например, `f"Hello {name}"`). Любая переменная или выражение Python, помещенное в фигурные скобки `{...}`, оценивается во время выполнения и автоматически преобразуется в строку. F-строки предназначены не только для переменных; вы можете вызывать функции, выполнять математические вычисления и даже получать доступ к значениям словаря внутри фигурных скобок, устраняя необходимость во временных переменных.
F-строки также имеют богатый язык форматирования. Добавляя двоеточие `:` внутри фигурных скобок, вы можете указать правила форматирования. Например, `{value:.2f}` округляет число с плавающей точкой до двух десятичных знаков, `{num:03d}` дополняет целое число ведущими нулями, а `{date:%Y-%m-%d}` форматирует объект datetime. ВPython 3.8+ в F-строках появился синтаксис отладки `{variable=}`, который автоматически печатает как имя переменной, так и ее значение, что делает отладку быстрой и безболезненной.
Код и вывод выполнения
Демонстрация форматирования чисел с плавающей запятой, оценки выражений и самодокументируемой отладки по знаку равенства.
name = "Charlie"
price = 19.995
quantity = 3
# Basic interpolation and math evaluation
receipt = f"Customer: {name} | Total: ${price * quantity:.2f}"
print(receipt)
# Padding and alignment
number = 42
padded = f"ID: {number:05d}"
print(padded)
# Self-documenting debugging syntax (Python 3.8+)
value = 100
print(f"Debug output: {value=}")Customer: Charlie | Total: $59.99
ID: 00042
Debug output: value=100Пошаговая реализация
- Уточнение числовых результатов в отчетах и информационных панелях
- Создание динамических запросов SQL или полезных данных запроса API.
- Печать операторов быстрой отладки во время локального тестирования
Часто задаваемые вопросы
Являются ли F-строки быстрее, чем другие методы форматирования строк?
Да, F-строки быстрее, чем форматирование % и .format(), поскольку они оцениваются во время выполнения как оптимизированный байт-код, а не анализируются при выполнении.
Как напечатать буквальные фигурные скобки в F-строке?
Вы можете избежать буквальных фигурных скобок, удвоив их, например, f"{{Hello}}" напечатает буквальный текст '{Hello}'.
Связанные темы
Мастер манипуляций со строками в Python. Изучите строковые методы, методы нарезки, конкатенации и форматирования на понятных примерах исполняемого кода.
Объяснение переменных и типов данных PythonПонимать переменные Python и основные типы данных (строки, целые числа, числа с плавающей запятой, логические значения). Полное руководство для начинающих по распределению памяти в Python.
Python DatetimeУзнайте, как обрабатывать даты, время, часовые пояса и вычисления в Python. Освойте форматирование, синтаксический анализ и арифметику с использованием datetime и timedelta.
Рекомендуемые ресурсы Python
Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.
Как прочитать файл на Python
Узнайте, как читать файлы на Python. Освойте оператор open, readline, readlines и безопасную обработку исключений файлов.
Памятка по операциям с файлами Python
Краткий справочник по чтению и записи файлов на Python. Освойте открытые режимы, менеджеры контекста и построчное чтение.
Python против JavaScript: какой язык программирования лучше?
Всестороннее сравнение Python и JavaScript. Изучите синтаксические различия, производительность, варианты использования (серверная и клиентская части) и примеры кодирования.