TGViewer
feelin feelin @feelindev · 47 subscribers
Post #138 126
😍 Посмотрите, какая красота!

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

Завезли PEP 750 - шаблонные строки. По сути своей штука до боли знакома: если не копать в подробности, то это та же самая f-строка, которая позволяет подставлять значения в строку по определённому образцу:

name = "World"
template = t"Hello {name}"

print(template) # Hello World


Зачем, казалось бы, ещё одна реализация f-строк? А дьявол кроется в деталях! На самом деле разница между f-строками и шаблонными строками состоит в том, какой тип мы получаем в результате выполнения: при вычислении значения f-строки мы в итоге получим готовую строку, а при вычислении шаблонной строки - объект класса Template (лежит в string.templatelib), с которым далее мы можем творить всякие интересности.

Смысл сей магии в том, что теперь в языке появилась собственная гибкая обработка строк, позволившая делать проверки безопасности (привет, taint-анализ), колдовать с веб-шаблонами и всякое подобное.

Например, мы можем доставать из шаблонной строки её части, а также конкретные интерполированные значения:

name = "World"
template = t"Hello {name}"
assert template.strings[0] == "Hello "
assert template.interpolations[0].value == "World"


Также есть возможность достать из такой строки изначально подставленное значение:

name = "World"
template = t"Hello {name}"
assert template.interpolations[0].expression == "name"


Помимо этого, шаблонные строки поддерживают мини-язык format specification (поле format_spec типа Template).

🎤 feelin про #Python
  • 🤩 1
  • 🍓 1
More from @feelindev
  1. Oct 1, 2026Мне нужна твоя одежда и твой мотоцикл Вечная тема, которая преследует AI: не взбунтуются л…
  2. Sep 28, 2026Искусственное сопротивление В последнее время я часто задумываюсь о том, почему некоторые…
  3. Sep 22, 2026Яблочная секта Уже пару месяцев как я прикупил себе последний MacBook Air на M5. Сегодня р…
  4. Sep 18, 2026Highway to AI В Developer Relations есть один важный аспект – открытость своего продукта и…
  5. Sep 16, 2026Plata за хайп На прошлой неделе в IT-тусовке разразился скандал из-за ситуации с разработч…
  6. Sep 15, 2026Яблочный телепорт На прошлой неделе случайно нащупал технологию, о существовании которой д…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →