tgoop.com/python_real/1000
Create:
Last Update:
Last Update:
Python 3.14. T-строки в Python: новый способ работы со строками?
Python предлагает множество способов создания строк — от обычных строк до f-строк и raw-строк. Но начиная с Python 3.12, появляется новый способ: t-строки. Это экспериментальный синтаксис, предлагаемый для улучшения интернационализации (i18n) строк.
В этом посте мы кратко рассмотрим:
Что такое t-строки?t"..."
— это новый синтаксис строк, похожий на f-строки, но предназначенный для упрощения перевода строк. Они позволяют использовать интерполяцию переменных и одновременно автоматически отмечать строку как подлежащую переводу.
name = "Алиса"
print(t"Привет, {name}!")
Такой синтаксис эквивалентен:
from gettext import gettext as _
name = "Алиса"
print(_("Привет, {name}!").format(name=name))
Зачем это нужно?
В больших проектах часто нужно поддерживать несколько языков. В Python это обычно делается через
gettext
, где строки передаются в функцию _()
и затем интерполируются вручную:
print(_("Привет, {name}!").format(name=name))
Но такой подход:
- неявный,
- подвержен ошибкам (особенно при интерполяции),
- не всегда дружелюбен к линтерам и инструментам сборки переводов.
t
-строки делают этот процесс более чистым и читаемым.Как это работает?
t
-строки являются экспериментальной функцией в Python 3.12, и для их использования нужно включить feature flag:
from __future__ import tstrings
Полный пример:
from __future__ import tstrings
name = "Алиса"
print(t"Привет, {name}!")
Это даст тот же результат, что и с
gettext
, но с более читаемым и лаконичным синтаксисом.Совместимость и текущее состояние
Пока t-строки находятся в стадии эксперимента. Они могут измениться или быть удалены в будущих релизах. Если вы работаете с интернационализацией и переводами — следите за этой фичей. Она может значительно упростить жизнь в будущем.
https://realpython.com/python-t-strings/
#python
👉 @python_real