Как добавить фигурные скобки в f-строки в Python 3?

у меня есть этот код

class = "maximum"
s = f"""The code for {class} is {3854-st56}"""
print(s)

Я хочу, чтобы это выводилось:

>> The code for maximum is {3854-st56}

Но f-строка не распознает фигурные скобки вокруг 3854-st56 и вместо этого думает, что я пытаюсь ввести реальный код Python. Как заставить f-строку распознавать, что фигурные скобки являются строковыми литералами.


person Vidit Gautam    schedule 05.07.2021    source источник


Ответы (2)


Чтобы избежать фигурных скобок, продублируйте их:

>>> x="abc"
>>> f"{x} {{x}}"
'abc {x}'

Вы также можете просмотреть PEP для получения дополнительной информации: https://www.python.org/dev/peps/pep-0498/#escape-sequences

person 0xff    schedule 05.07.2021

Вам нужно использовать curly bracket дважды, если вы присваиваете значение переменной, и один раз, если вы вводите значение:

Class = "maximum"
s = f"""The code for {{{Class}}} is {{'3854-st56'}}"""
print(s)

The code for {maximum} is {3854-st56}
person Pygirl    schedule 05.07.2021
comment
Используйте двойные фигурные скобки {{ или }}, чтобы ваш код стал таким: sb.AppendLine(String.Format(public {0} {1} {{ get; private set; }}, prop.Type, prop.Name)); // Для prop.Type для Foo и prop.Name для Bar результатом будет: // public Foo Bar { get; частный набор; } - person CodeJunkie; 05.07.2021