Как использовать шаблоны строк в Python
Python string templating
#1 “Старый стиль” форматирования строк (% Оператор)
Строки в Python имеют встроенную операцию, доступную с помощью оператора %
. Это позволяет легко выполнять простое позиционное форматирование. Если вы когда-либо работали с функцией в стиле printf
в языке C, то сразу поймете, как это работает. Вот простой пример:
Здесь я использую спецификатор формата %s
, чтобы указать Python, где подставить значение переменной имя
, представленное в виде строки.
Доступны и другие типы спецификаторов формата, позволяющие управлять форматом вывода. Например, можно преобразовывать числа в шестнадцатеричную систему счисления или добавлять пробелы для форматирования таблиц и отчетов (см. Python Docs: “Старый стиль форматирования строк”).
#2 “Новый стиль” форматирования строк (str.format)
В Python есть более современный способ форматирования строк с использованием метода format
. Он предлагает больше гибкости и возможностей для форматирования. Вот пример использования:
Здесь я использую фигурные скобки {}
, которые указывают Python, где подставить значение переменной имя
.
Как и в “старом стиле”, с помощью спецификаторов формата можно контролировать вывод. Например, можно указывать количество знаков после запятой для чисел с плавающей точкой, или добавлять выравнивание и отступы. (См. Python Docs: “Строковое форматирование”).
#3 Интерполяция строк https://codemdd.io/ f-строки (Python 3.6+)
Самый новый и наиболее рекомендуемый способ форматирования строк в Python - это использование f-строк. Они доступны с версии Python 3.6 и позволяют встраивать переменные и выражения непосредственно в строковые литералы. Вот пример:
Здесь я использую префикс f
перед строковым литералом, а в фигурных скобках указываю, где подставить значение переменной имя
.
f-строки также поддерживают спецификаторы формата, такие же, как и другие методы форматирования строк.
#4 Шаблонные строки (Стандартная библиотека)
Python также предлагает возможность использовать шаблонные строки из стандартной библиотеки. Вместо подстановки значений переменных, вы указываете места, где нужно заменить значения, с помощью фигурных скобок и знаков доллара. Вот пример:
Здесь я создаю экземпляр класса Template
, указываю место для подстановки значения переменной имя
с помощью символа $
и вызываю метод substitute
, указывая значение переменной.
Какой метод форматирования строк следует выбрать?
Использование каждого метода форматирования строк имеет свои преимущества. Если вы работаете с более старыми версиями Python или хотите сохранить совместимость с кодом, написанным в старом стиле, используйте %
оператор. Если у вас есть доступ к Python 3.6 и новее, рекомендуется использовать f-строки. Если вам нужна простая, но ограниченная функциональность, вы можете воспользоваться методом format
. Если вам нужны более сложные шаблоны или вы хотите обеспечить безопасность при подстановке значений, рекомендуется использовать шаблонные строки из стандартной библиотеки.
Выводы В этом уроке вы узнали основные подходы к форматированию строк в Python и разобрали их преимущества и недостатки. Вы также получили простое правило, как выбрать наиболее подходящий метод форматирования строк в своих программах. Не забывайте выбирать метод форматирования, исходя из конкретных потребностей вашего проекта.