Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
27 Фев 2023
2 мин
4111

Как экранировать фигурные скобки в строках при использовании .format или f-string в Python

Очень часто в Python, при работе со строками, возникает ситуация, когда необходимо вставить в строку зарезервированные символы, такие как фигурные скобки

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

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

Например, стоит задача вывести строку, которая содержит фигурные скобки и дополняется некоторыми переменными, что выглядит следующим образом:

print(" {Hello} {0} ".format(42))

Ожидается, что на выходе будет следующая строка:

{Hello} 42

Однако вместо этого возникает ошибка, так как Python пытается найти значение для вторых фигурных скобок {0} и не находит его.

Решение проблемы

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

Правильный пример выглядит так:

print(" {{Hello}} {0} ".format(42))

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

{Hello} 42

Также стоит отметить, что этот подход работает и с f-string в Python. Пример:

num = 42
print(f" {{Hello}} {num} ")

В этом случае на выходе также получим строку:

{Hello} 42

На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий