Как использовать интерполированные строки в Python?
Python’s F-String для интерполяции строк и форматирования
by Joanna Jablonski Oct 18, 2023
Введение
Python f-строки предоставляют быстрый способ интерполяции и форматирования строк. Они читаемы, кратки и менее подвержены ошибкам, чем традиционные инструменты интерполяции и форматирования строк, такие как метод .format()
и оператор %
. Кроме того, использование f-строк немного быстрее этих инструментов!
В конце этого руководства вы узнаете, почему f-строки являются таким мощным инструментом, который стоит изучить и освоить как разработчику Python.
В этом руководстве вы узнаете, как:
- Интерполировать значения, объекты и выражения в строки с помощью f-строк
- Форматировать f-строки с использованием мини-языка форматирования строк Python
- Воспользоваться некоторыми интересными возможностями f-строк в Python 3.12 и выше
- Решить, когда использовать традиционные инструменты интерполяции вместо f-строк
Введение в интерполяцию и форматирование строк до Python 3.6
До Python 3.6 у вас было два основных инструмента для интерполяции значений, переменных и выражений в строковые литералы:
- Оператор интерполяции строк (
%
), или модуло-оператор - Метод
.format()
.
Ниже вы приведены краткие описания этих двух инструментов интерполяции строк:
Оператор интерполяции (%
)
Оператор интерполяции использует спецификаторы форматирования, такие как %s
для строк, %d
для целых чисел и %f
для чисел с плавающей точкой, для подстановки значений в строковый литерал.
Пример использования оператора интерполяции:
Вывод:
Метод .format()
Метод .format()
использует фигурные скобки {}
для обозначения места, где нужно вставить значения.
Пример использования метода .format()
:
Вывод:
Использование метода .format()
также позволяет указывать индексы аргументов и использовать ключевые слова для более точной интерполяции значений.
Интерполяция строк с использованием f-строк в Python
Ф-строки представляют собой синтаксический сахар для интерполяции значений и выражений внутри строк. Они используют префикс f
перед строкой и фигурные скобки {}
для обозначения интерполируемых значений.
Пример использования f-строк:
Вывод:
F-строки можно использовать не только для интерполяции значений переменных, но и для вычисления выражений.
Пример вычисления выражений с помощью f-строк:
Вывод:
Форматирование строк с помощью f-строк в Python
F-строки также предоставляют возможность форматирования строк с использованием мини-языка форматирования строк Python. Этот язык позволяет задавать различные параметры форматирования, такие как количество десятичных знаков после запятой, ширина поля и выравнивание.
Пример форматирования числа с помощью f-строк:
Вывод:
Мини-язык форматирования строк Python предлагает множество возможностей для форматирования строк по вашим потребностям. Вы можете использовать его для форматирования чисел, дат, времени и других типов данных.
Другие функции f-строк
F-строки обладают и другими полезными функциями, которые могут быть вам полезны:
- Использование строкового представления объектов в f-строках:
Вывод:
- Использование выражений для отладки:
Вывод:
- Сравнение производительности: f-строки работают немного быстрее, чем оператор интерполяции и метод
.format()
. Это может быть полезно, если вам нужно оптимизировать производительность вашего кода.
Обновление f-строк в Python 3.12 и выше
В Python 3.12 и выше были внесены некоторые изменения в синтаксис f-строк. Ниже приведены некоторые из них:
- Использование кавычек:
- Использование обратных слешей:
- Запись комментариев внутри f-строк:
- Дешифровка сообщений об ошибках в f-строках стало более понятным и информативным.
Использование традиционных инструментов форматирования строк вместо f-строк
Несмотря на все преимущества f-строк, иногда может быть полезно использовать традиционные инструменты интерполяции и форматирования строк:
- Интерполяция словарей:
- Ленивая оценка при логгировании:
- Запросы к базе данных SQL:
- Интернационализация и локализация
Автоматическое преобразование старых строк в f-строки
Если у вас есть старый код, который использует традиционные инструменты интерполяции и форматирования строк, вы можете автоматически преобразовать его в использование f-строк с помощью специального инструмента, например futurize
или modernize
.
Вывод
F-строки представляют собой мощный инструмент для интерполяции и форматирования строк в Python. Они легко читаемы, удобны в использовании и предлагают разнообразные функции для удовлетворения ваших потребностей. Не забывайте использовать f-строки в своем коде, чтобы делать его более понятным и эффективным!