Пропустить до содержимого

Как использовать шаблоны строк в Python

CodeMDD.io

Python string templating

#1 “Старый стиль” форматирования строк (% Оператор)

Строки в Python имеют встроенную операцию, доступную с помощью оператора %. Это позволяет легко выполнять простое позиционное форматирование. Если вы когда-либо работали с функцией в стиле printf в языке C, то сразу поймете, как это работает. Вот простой пример:

>>> 'Привет, %s' % имя
"Привет, Bob"

Здесь я использую спецификатор формата %s, чтобы указать Python, где подставить значение переменной имя, представленное в виде строки.

Доступны и другие типы спецификаторов формата, позволяющие управлять форматом вывода. Например, можно преобразовывать числа в шестнадцатеричную систему счисления или добавлять пробелы для форматирования таблиц и отчетов (см. Python Docs: “Старый стиль форматирования строк”).

#2 “Новый стиль” форматирования строк (str.format)

В Python есть более современный способ форматирования строк с использованием метода format. Он предлагает больше гибкости и возможностей для форматирования. Вот пример использования:

>>> 'Привет, {}'.format(имя)
"Привет, Bob"

Здесь я использую фигурные скобки {}, которые указывают Python, где подставить значение переменной имя.

Как и в “старом стиле”, с помощью спецификаторов формата можно контролировать вывод. Например, можно указывать количество знаков после запятой для чисел с плавающей точкой, или добавлять выравнивание и отступы. (См. Python Docs: “Строковое форматирование”).

#3 Интерполяция строк https://codemdd.io/ f-строки (Python 3.6+)

Самый новый и наиболее рекомендуемый способ форматирования строк в Python - это использование f-строк. Они доступны с версии Python 3.6 и позволяют встраивать переменные и выражения непосредственно в строковые литералы. Вот пример:

>>> f'Привет, {имя}'
"Привет, Bob"

Здесь я использую префикс f перед строковым литералом, а в фигурных скобках указываю, где подставить значение переменной имя.

f-строки также поддерживают спецификаторы формата, такие же, как и другие методы форматирования строк.

#4 Шаблонные строки (Стандартная библиотека)

Python также предлагает возможность использовать шаблонные строки из стандартной библиотеки. Вместо подстановки значений переменных, вы указываете места, где нужно заменить значения, с помощью фигурных скобок и знаков доллара. Вот пример:

>>> from string import Template
>>> шаблон = Template('Привет, $имя')
>>> шаблон.substitute(имя=имя)
"Привет, Bob"

Здесь я создаю экземпляр класса Template, указываю место для подстановки значения переменной имя с помощью символа $ и вызываю метод substitute, указывая значение переменной.

Какой метод форматирования строк следует выбрать? Использование каждого метода форматирования строк имеет свои преимущества. Если вы работаете с более старыми версиями Python или хотите сохранить совместимость с кодом, написанным в старом стиле, используйте % оператор. Если у вас есть доступ к Python 3.6 и новее, рекомендуется использовать f-строки. Если вам нужна простая, но ограниченная функциональность, вы можете воспользоваться методом format. Если вам нужны более сложные шаблоны или вы хотите обеспечить безопасность при подстановке значений, рекомендуется использовать шаблонные строки из стандартной библиотеки.

Выводы В этом уроке вы узнали основные подходы к форматированию строк в Python и разобрали их преимущества и недостатки. Вы также получили простое правило, как выбрать наиболее подходящий метод форматирования строк в своих программах. Не забывайте выбирать метод форматирования, исходя из конкретных потребностей вашего проекта.