589просмотров
8 октября 2025 г.
statsScore: 648
Python π 3.14 7 октября вышла новая версия Python и я как разработчик, у которого это основной язык, не мог не написать пост о нововведениях:) Отложенное вычисление типов До невозможности просто: если какой-нибудь тип Type был объявлен после использования, ранее нужно было оборачивать в кавычки, теперь – не нужно
Мелочь, а приятно Несколько интерпретаторов Теперь можно программно запускать несколько интерпретаторов с помощью нового модуля concurrent.interpreters, каждый запускается в отдельном ядре. Конечно, есть ограничения, и не до конца понятно как это пока использовать, чтобы было качественно, но время покажет Template-строки Вероятно, главное нововведение – раньше для форматирования строк были f-строки, и это было удобно, а сейчас добавились и t(template)-строки Их основная особенность – что они возвращают объект класса string.templatelib.Template, по которому можно потом итерироваться и, например, выполнять действия, в зависимости от названия вычисляемого значения (данных), или вовсе того текст это или как раз «переменные», так скажем (они, кстати, имеют тип string.templatelib.Interpolation) Запуск кода ВНУТРИ процесса Да, так и есть – теперь с помощью метода sys.remote_exec можно внедрять код в python-процесс (который в это время останаваливается). Это очень полезно для отладки как по мне. В этот метод передаётся 2 значения – PID процесса и путь до файла, код из которого нужно запустить (на офф.сайте в примере это делают через NamedTemporaryFile, то есть создавая временный файл) А также можно подключиться к программе через python3.14 -m pdb -p PID и начать выполнять код прямо в терминале А также среди прочих изменений: - Улучшенный free-threaded режим, то есть действительно многопоточный режим. - В стандартную библиотеку добавился модуль compression, в котором есть различные алгоритмы сжатия данных
В том числе алгоритм zstandart, принадлежащий Meta (я потестил, ну вроде и неплохо, а вроде чёрт знает) - С помощью команд python3.14 -m asyncio ps PID и python3.14 -m asyncio pstree PID теперь можно смотреть какие асинхронные задачи запущены и какое у них состояние в процессах Python.
Отличаются они тем, в каком виде просматриваются – pstree это вид «дерева» - Теперь интерпретатор отображает предупреждение, если внутри блока finally есть return, break или continue И, конечно, всякие изменения в синтаксисе, например, что теперь можно обрабатывать несколько исключений без скобок. Вот такие новости, можете посмотреть остальные нововведения на официальном сайте (я убеждён, что лучше, чем там, никто не объяснит) Также хотел бы сюда побольше кода добавить, но и так текста уже много, ещё код сюда..
Если код в подобных постах нужен – напишите, можете заодно написать как удобнее, может через отдельные репозитории на GitHub