Ответ 1
Это ошибка. Подход, который в настоящее время работает, заключается в использовании литерала Unicode \u005c
для \
вместо этого:
>>> f'\u005c{10}'
'\\10'
или, с аналогичным эффектом, используя raw f
-string:
>>> rf'\{10}'
'\\10'
Используя '\'
, кажется, что две странные вещи происходят одновременно:
- Следующий символ (
'{'
здесь) был экранирован, оставив его в результирующей строке. - Отформатированная строка также оценивается, что является нечетным и не ожидается
Пример:
>>> f'\{2+3}'
'\\{5'
>>> a = 20
>>> f'\{a+30}'
'\\{50'
В любом случае, я скоро напишу отчет об ошибке (так как вижу, что у вас его еще нет) и обновляется, когда я получаю ответ.
Обновление: Создано Проблема 29104 - Левая скобка остается в формате строки, когда "\" претворяет ее, если вам интересно, Посмотрите на беседу.
Обновление 2: проблема устранена с помощью PR 490.