Реальный Python
3.81K subscribers
803 photos
10 videos
7 files
850 links
Все о пайтон, новости, подборки на русском и английском. По всем вопросам @evgenycarter
Download Telegram
Python 3.14. T-строки в Python: новый способ работы со строками?

Python предлагает множество способов создания строк — от обычных строк до f-строк и raw-строк. Но начиная с Python 3.12, появляется новый способ: t-строки. Это экспериментальный синтаксис, предлагаемый для улучшения интернационализации (i18n) строк.

В этом посте мы кратко рассмотрим:

🔘 Что такое t-строки?
🔘Зачем они нужны?
🔘Как их использовать?

Что такое 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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Async IO в Python: что это и как с этим работать

Асинхронное программирование в Python — это подход, позволяющий выполнять несколько операций одновременно, не блокируя основной поток выполнения. Это особенно полезно для задач ввода-вывода (I/O), таких как сетевые запросы, работа с файлами и базы данных.

Ключевые понятия

* Сопрограммы (coroutines) — функции, которые можно приостанавливать и возобновлять.
* Событийный цикл (event loop) — механизм, управляющий выполнением асинхронных задач.
* await — оператор, который приостанавливает выполнение до завершения асинхронной операции.

Пример кода:


import asyncio

async def main():
print("Начало")
await asyncio.sleep(1)
print("Конец")

asyncio.run(main())


Когда использовать async?

* Когда приложение работает с большим количеством сетевых запросов.
* Для параллельного выполнения долгих операций ввода-вывода.
* Когда требуется высокая отзывчивость программы.

Когда не стоит использовать?

* Для вычислительно тяжелых задач (лучше использовать multiprocessing).

Асинхронность в Python строится вокруг asyncio, но есть и дополнительные библиотеки (например, aiohttp для асинхронных HTTP-запросов).

https://realpython.com/async-io-python/

#python

👉 @python_real
👍4