Python Glossary English

Python 3.14+astпонятие

ast.TemplateStr

литералы

Узел t-строки t'…' (Python 3.14): values — чередование Constant с текстом и Interpolation с подстановками.

Синтаксис

ast.TemplateStr(values)

t-строка выглядит как f-строка, но разбирается в TemplateStr, а не в JoinedStr, и в values у неё не FormattedValue, а Interpolation — с дополнительным полем str, где сохранён исходный текст выражения. Анализатор, который ищет только JoinedStr, t-строки пропустит. На версиях до 3.14 префикс t — синтаксическая ошибка, и ast.parse такой код не разберёт.

Примеры

import ast
t = ast.parse("t'Hi {name!r}'", mode='eval').body
print(type(t).__name__, [type(v).__name__ for v in t.values])  # → TemplateStr ['Constant', 'Interpolation']
print(t.values[1].str, chr(t.values[1].conversion))  # → name r
import ast
print(type(ast.parse("f'Hi {name}'", mode='eval').body).__name__)  # → JoinedStr

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности