Веб-версияОткрыть в Telegram

Пост🖥 Что нового в Python 3.11

8 января 2023
P
Python RU
Ссылка
нажмите — покажем
🖥 Что нового в Python 3.11 Изменения в Python 3.11 включают: -оптимизацию производительности с добавлением изменений, связанных с ускорением и inline-развёртыванием вызова функций, применением быстрых интерпретаторов типовых операций (x+x, x*x, x-x, a[i], a[i] = z, f(arg) C(arg), o.method(), o.attr = z, *seq), а также оптимизацией в рамках проектов Cinder и HotPy. Разработчики обещают прирост скорости выполнения кода на 10-60%. В среднем производительность при прохождении тестового набора pyperformance увеличилась на 25%; - переработанный механизм кэширования байткода, что позволило сократить время запуска интерпретатора на 10-15%. Объекты с кодом и байткод статически размещаются интерпретатором, чтобы исключить стадии демаршалинга извлечённого из кэша байткода и преобразования объектов с кодом для размещения в динамической памяти; - вывод информации о выражении при отображении трассировки вызовов в диагностических сообщениях. Расширенную информацию о трассировке также можно получить через API и использовать для сопоставления отдельных инструкций байткода с конкретной позицией в исходном коде, используя метод codeobject.co_positions() или функцию C API PyCode_Addr2Location(). Это упрощает отладку проблем, связанных с вложенными объектами словарей, множественными вызовами функций и сложными арифметическими выражениями; - поддержку групп исключений, дающих программе возможность генерировать и обрабатывать сразу несколько разных исключений одновременно. Для группировки нескольких исключений и их совместного вызова предложены новые типы ExceptionGroup и BaseExceptionGroup, а для выделения отдельных исключений из группы добавлено выражение “except*”; - добавление метода add_note() в класс BaseException для прикрепления текстового примечания к исключению; добавление типа Self, представляющего текущий закрытый класс, для аннотирования методов, возвращающих экземпляр своего класса, более простым путём; - добавление специального типа LiteralString, который может включать только строковые литералы, совместимые с типом LiteralString. Тип можно использовать для ограничения передачи функциям строковых аргументов, где произвольная подстановка частей строк может привести к уязвимостям; - добавление TypeVarTuple, охватывающего произвольное число типов; - включение модуля tomllib с функциями для разбора формата TOML в стандартную библиотеку; - возможность пометки отдельных элементов типизованных словарей (TypedDict) метками Required и NotRequired для определения обязательных и необязательных полей; - добавление класса TaskGroup в модуль asyncio с реализацией асинхронного контекстного менеджера, ожидающего завершения группы задач. Добавление задач в группу осуществляется при помощи метода create_task(); - добавление декоратора классов, методов и функций @dataclass_transform, при указании которого система проверки статических типов трактует объект, как при использовании декоратора @dataclasses.dataclass; - добавление возможности использования атомарной группировки ((?>…)) и possessive-квантификаторов (*+, ++, ?+, {m,n}+) в регулярных выражениях; - добавление опции командной строки “-P” и переменной окружения PYTHONSAFEPATH для отключения автоматического прикрепления к sys.path потенциально небезопасных файловых путей; - улучшение утилиты py.exe для платформы Windows, в которой - реализована поддержка синтаксиса “-V:<company>/<tag>” в дополнение к “-<major>.<minor>”; - преобразование многих макросов в C API в обычные или статические inline-функции; - удаление модулей uu, cgi, pipes, crypt, aifc, chunk, msilib, telnetlib, audioop, nis, sndhdr, imghdr, nntplib, spwd, xdrlib, cgitb, mailcap, ossaudiodev и sunau. Удаление функции PyUnicode_Encode*. 🔥 Смотреть примеры @pro_python_code
👍10🔥3❤1
20 · 2.8K ·

Рядом в ленте

PPython RU🖥 Вопросы на собеседовании Python, ответы, на которые вам стоит знать. В этой статье я превратил некоторые из своих заметок в 20 вопросов для собеседований, котPPython RUHackerforms — UI для Python Интересный модуль для питона для разработки интерактивных интерфейсов. Импортируем модуль, пишем код, на выходе получаем интерфейс с
это сообщение
PPython RU🖥 Как оптимизировать размер памяти при обработке крупных файлов. Нередко я сталкиваюсь с большими объемами данных, которые требуют дополнительной обработки с поPPython RU🖥 Youtube-dl Крутой инструмент командной строки на Python для загрузки видео с YouTube.com и других видеосайтов. sudo curl -L https://yt-dl.org/downloads/latest
PPython RUPython RU@pro_python_code · канал · Технологии
12 333подписчиков749средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем