Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

Надежные VPS и выделенные серверы в Нидерландах

Storage VPS, High CPU VPS

Профессиональная техническая поддержка

Домены, SSL сертификаты, VPN

Выпуск языка программирования Python 3.14

После года разработки опубликован значительный выпуск языка программирования Python 3.14. Новая ветка будет поддерживаться в течение полутора лет, после чего ещё три с половиной года для неё будут формироваться исправления с устранением уязвимостей.

Среди новшеств, добавленных в Python 3.14 (1, 2, 3):

  • Реализована официальная поддержка сборки CPython без глобальной блокировки интерпретатора (GIL, Global Interpreter Lock). Сборка без GIL позволяет избавиться от проблемы с распараллеливанием операций на многоядерных системах, вызванной тем, что глобальная блокировка не допускает параллельное обращение к разделяемым объектам из разных потоков. Отключение GIL приводит к дополнительным накладным расходам, вызванным изменениями в сборщике мусора, системе управления памятью и примитивах для организации блокировок. Например, из-за использования подсчёта ссылок для изоляции потоков наблюдается снижение производительности однопоточных сценариев примерно на 10%. При этом подобные накладные расходы могут компенсироваться распараллеливанием операций.
  • Добавлена поддержка t-строк (литералы с префиксом 't') позволяющих использовать синтаксис, похожий на f-строки, для создания собственных обработчиков шаблонов в строках. В отличие от f-строк t-строки возвращают объект, раздельно хранящий статические строковые данные и подставляемые значения. Раздельное хранение позволяет привязывать собственные обработчики, влияющие только на подставляемые значения. Например, можно подключить обработчик для перевода подставляемого значения в верхний регистр или для экранирования спецсимволов при подстановке в строку внешних данных.
    
       variety = 'Stilton'
       template = t'Try some {variety} cheese!'
       print(list(template))
       print(lower_upper(template))
    
    

    ['Try some ', Interpolation('Stilton', 'variety', None, ''), ' cheese!'] Try some STILTON cheese!

    attributes = {'src': 'limburger.jpg', 'alt': 'lovely cheese'} template = t'<img {attributes}>' print (html(template))

    <img src="limburger.jpg" alt="lovely cheese" />

  • В стандартную библиотеку добавлен модуль concurrent.interpreters, позволяющий одновременно выполнять в одном процессе несколько изолированных друг от друга копий Python-интерпрератора. Ранее данная возможность была доступна только через C-API. Одновременное выполнение нескольких интерпретаторов может использоваться для распаралелливания операций по аналогии с запуском нескольких параллельно выполняемых процессов, но в отличие от многопроцессной модели расходует меньше ресурсов. На уровне приложений для разделения операций по интерпретаторам могут использоваться модель акторов и CSP (взаимодействие последовательных процессов).
  • В CPython реализован новый тип интерпретатора, использующий хвостовые вызовы между C‑функциями, реализующими отдельные байткоды Python, вместо одной большой функции с выражением switch/case. При сборке в Clang 19 новый интерпретатор демонстрирует повышение производительности на 3-5% при выполнении тестов pyperformance. Новый интерпретатор пока доступен в качестве опции для архитектур x86-64 и AArch64, и требует для сборки как минимум версии Clang 19 (поддержку GCC обещают позднее).
  • Обеспечена отложенная обработка аннотаций для функций, классов и модулей. Аннотации теперь не обрабатываются сразу, а сохраняются в форме специализированных функций и вычисляются при возникновении необходимости. Новое поведение позволяет упростить работу с аннотациями и снизить накладные расходы на обработку аннотация во время выполнения. Для инспектирования отложенных аннотаций предложен модуль annotationlib.
  • В стандартную библиотеку добавлен пакет compression, предоставляющий функции для сжатия и распаковки данных при помощи различных алгоритмов. Помимо модулей compression.lzma, compression.bz2, compression.gzip и compression.zlib, предоставляющих доступ к функциональности, ранее доступной в модулях lzma, bz2, gzip и zlib, добавлен новый модуль compression.zstd с реализацией алгоритма ZSTD (Zstandard).
  • В выражениях "except" и "except*" разрешено не помещать содержимое в скобки, если в выражении указывается несколько типов исключений и не используется ключевое слово "as".
    
       try:
           connect_to_server()
       except TimeoutError, ConnectionRefusedError:
           print('The network has ceased to be!')
    
  • В интерактивной оболочке PyREPL реализована подсветка синтаксиса. Включён цветной вывод в CLI-утилитах из модулей unittest, argparse, json и calendar.
  • Добавлен интерфейс для подключения внешних отладчиков и профилировщиков к уже работающим процессам CPython, не требующий остановки и перезапуска, и не влияющий на производительность.
  • В модуль pdb добавлена поддержка удалённого подсоединения к работающим Python-процессам. Например, для подключения к процессу с номером 1234 можно использовать команду "python -m pdb -p 1234".
  • В модуль uuid добавлены функции uuid6(), uuid7() и uuid8() с реализацией 6, 7 и 8 версий UUID-идентификаторов.
  • Добавлен вывод предупреждения при использовании выражений "return", "break" и "continue" для выхода из блока "finally".
  • Добавлен C API PyInitConfig для настройки инициализации Python без привязки с структурам на языке Си, дающий возможность вносить изменения, не нарушающие ABI. Предоставляются функции Add PyConfig_Get() и PyConfig_Set() для получения и выставления конфигурации, а также функция PyInitConfig_AddModule() для добавления модуля с расширением.
  • Улучшены сообщения об ошибках. Добавлены рекомендации по устранению ошибок при опечатках в ключевых словах.
  • В состав интегрированы результаты работы по замене в Python реализаций криптографических алгоритмов, предлагаемых в модулях hashlib и hmac, на варианты с математическим (формальным) доказательством надёжности, подготовленные проектом "HACL*". Все предоставляемые по умолчанию в Python хэш-функции и HMAC заменены на варианты, для которых предоставлено формальное доказательство соответствия (формальная верификация). Среди прочего, добавлена реализация HMAC-BLAKE2, использующая SIMD-инструкции AVX2 для ускорения вычислений.
  • Добавлен новый интерфейс командной строки ("python -m asyncio ps PID" и "python -m asyncio pstree PID") для инспектирования запущенных Python-процессов с асинхронными задачами (asyncio).
  • В состав готовых сборок для macOS и Windows включён экспериментальный JIT-компилятор. Инсталлятор для Windows заменён на менеджер установок.
  • Для верификации целостности сборок вместо PGP-подписей задействована система криптографической верификации кода Sigstore.
  • Предоставлены официальные бинарные сборки для платформы Android.

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

OpenNET

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

Спринтхост — хостинг от 129 ₽ в месяц

Бесподобная поддержка, тестовый период 30 дней и домены от 149 ₽

Промокод на 30% кешбэк — CITFORUM

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...