Выпущен новый релиз языка программирования Python 3.9

Выпущен новый релиз языка программирования Python 3.9

14.10.2020     

5 октября Python Software Foundation выпустила Python 3.9. Раньше команда Python придерживалась 18-месячного цикла разработки и выпуска, но теперь перешла на годовой цикл. Python 3.9 внес существенные изменения как в сам язык, так и в способы его разработки.

Python переходит на годовой цикл выпуска

До этого момента Python разрабатывался и выпускался с периодичностью в восемнадцать месяцев.

Переход на годовой цикл означает, что в каждом выпуске будет меньшее количество функций, но при этом пользователи получат более быструю обратную связь по тестированию функций и меньше потенциально критических изменений. Следовательно, у пользователей и менеджеров дистрибутивов появится больше стимулов к частому обновлению Python. Это также означает, что внедрение новых функций займет не так много времени.

 

 

Новая временная шкала показывает, что Python 3.10, который 19 мая 2020 года официально перешел на стадию предварительной разработки альфа-версии, будет выпущен в октябре 2021 года.

Введение парсера на основе PEG

Python 3.9 предлагает заменить текущий синтаксический анализатор на основе LL(1) на высокопроизводительный и более стабильный синтаксический анализатор грамматики PEG. Эта замена снимет текущее ограничение грамматики LL(1). Синтаксический анализатор PEG отличается от своего предшественника тем, что не зависит от контекста, и оператор выбора упорядочен.

Код старого парсера пока сохранен и может быть восстановлен при помощи флага «-X oldparser» или переменной окружения «PYTHONOLDPARSER=1». Но в выпуске 3.10 он будет удалён.

Улучшения многопроцессорности и AsyncIO

В многопроцессорность и asyncIO было внесено много именений. Например, параметр reuse_address из asyncio.loop.create_datagram_endpoint() удален из соображений безопасности. Кроме того, говоря о библиотеке multiprocessing, в класс multiprocessing.SimpleQueue был добавлен новый метод close() для явного закрытия очереди.

Изменения словаря и строковых функций

Python вводит два новых оператора слияния | и |= для словаря. Один для объединения двух словарей в новый словарь, а другой для обновления содержимого одного словаря другим словарем. Конфликты ключей будут разрешены путем сохранения самого правого значения, которое соответствует текущему поведению аналогичных операций dict, где последнее обнаруженное значение является более важным.

Что касается строк, были добавлены две новые функции. Первая str.removeprefix(префикс) может использоваться для удаления префикса, тогда как str.removesuffix(суффикс) может использоваться для удаления суффикса. Ожидается, что с введением новых функций API станет более последовательным, описательным и стабильным.

Поддержка часового пояса IANA

Модуль Zoneinfo предназначен для поддержки базы данных часовых поясов IANA, которая теперь добавлена в стандартную библиотеку. По умолчанию модуль zoneinfo будет использовать часовой пояс системы. Однако, если часовой пояс системы недоступен, библиотека будет применять tzdata в качестве часового пояса.

Повышенная скорость

Python 3.9 включает два больших обновления, которые повышают производительность без изменений в существующем коде.

Первое связано с использованием протокола vectorcall, представленного в Python 3.8. Vectorcall ускоряет вызовы многих общих функций за счет минимизации или исключения временных объектов, созданных для вызова. В Python 3.9 функция vectorcall была расширена для нескольких встроенных модулей, таких как range, tuple, set, frozenset, list и dict.

Вторым важным средством повышения производительности является новый инструмент анализа исходного кода Python. Новый анализатор для выполнения CPython устраняет внутренние несоответствия и обеспечивает быстрый синтаксический анализ для больших объемов кода.

Новые операции типа Python

В новой версии Python программы аннотаций были упрощены за счет удаления иерархии параллельных типов. Теперь он включает поддержку универсального синтаксиса во всех стандартных коллекциях. Вместо typing.List или typing.Dict в сигнатуре функции можно использовать встроенные типы коллекций list или dict в качестве универсальных типов.

Декораторы теряют некоторые ограничения

Декораторы позволяют оборачивать функции Python, чтобы программно изменять их поведение. Ранее декораторы могли состоять только из символа @, имени (например func) или имени, разделенного точками (func.method), и одного вызова (func.method(arg1, arg2)). Одним из давних способов обойти это ограничение было создание функции или лямбда-выражения, которое заменяло более сложное выражение при использовании в качестве декоратора.

В Python 3.9 декораторы теперь могут состоять из любого допустимого выражения.

Улучшения внутреннего устройства Python

Очистка, доработка и модернизация внутренних компонентов Python – это то, над чем постоянно работают разработчики Python. В Python 3.9 есть пара таких изменений:

Переработка способа взаимодействия модулей с импортированным кодом. Модули расширения Python, написанные на C, теперь могут использовать новый механизм загрузки, который заставляет их вести себя больше как обычные модули Python при импорте.

Несколько модулей в стандартной библиотеке Python уже поддерживают это поведение: abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref.

Новый механизм загрузки не только позволяет Python более гибко обрабатывать модули расширения, но также предоставляет новые возможности, такие как расширенное поведение подключения.

Стабильный внутренний ABI для CPython. Исторически каждая крупная версия Python была несовместима с ABI предыдущих версий, что требовало перекомпиляции модулей расширения для каждой новой версии. С этого момента любые модули расширения, использующие стабильный ABI, будут работать в версиях Python.

В Python 3.9 следующие модули стандартной библиотеки используют стабильный ABI: audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib.

Brython 3.9

6 октября был опубликован релиз проекта Brython 3.9, который представляет собой реализацию языка Python 3 для выполнения на стороне web-браузера. Он позволяет использовать Python вместо JavaScript в качестве языка сценариев для Интернета. Brython адаптирован к среде HTML5 с интерфейсом для объектов и событий DOM.

Скорость выполнения аналогична CPython для большинства операций. Библиотеки brython.js и brython_stdlib.js дают возможность использовать язык Python для определения логики работы сайта на стороне клиента. Для включения Python-кода на страницы применяется тег <script> с mime-типом text/python.

Напомним, что в июле этого года Python обогнал Java в рейтинге языков программирования Developer Ecosystem Survey 2020.


Источник: https://infostart.ru/journal/news/tekhnologii/vypushchen-novyy-reliz-yazyka-programmirovaniya-python-3-9_1309603/
Автор:
Сергей Кравченко Обозреватель


Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. brr 179 14.10.20 09:31 Сейчас в теме
Хотелось бы прочитать такую новость про язык 1С
Степной; +1 Ответить
2. XAKEP 14.10.20 09:59 Сейчас в теме
(1)
о нет, только не это :)

тут релизы платформы как перчатки меняют

--------------------

раньше при СССР и США была гонка вооружений

---------------------------------------------------
теперь смотрю гонка версий во всем

начиная от версий языков программирования :)
Оставьте свое сообщение

См. также

В ближайшие годы возрастет потребность в персонале центров обработки данных

Новость Дата-центры ИТ-новость Цифровая экономика

Согласно отчету Uptime Institute, количество сотрудников, необходимых для обеспечения работы ЦОД, вырастет с 2 млн. в 2019 году до 2,3 млн. в 2025 году.

вчера в 15:30    1563    SKravchenko    0       

Google кардинально изменит дизайн Android 12

Новость Android Google ИТ-новость Мобильные приложения Новости компаний

Компания Google анонсировала глобальное обновление популярной операционной системы Android. Новая версия выйдет под номером 12. Говорят, что Android 12 назовут «Snow cone» – летний десерт из сладкого колотого льда.

вчера в 14:05    1786    mouse187    0       

Google представила новый сервис для поиска уязвимостей в открытом ПО

Новость Google Безопасность ИТ-новость

Компания Google запустила платформу с открытым исходным кодом OSV (Open Source Vulnerabilities). Она создана для поиска и закрытия уязвимостей в свободном ПО.

18.02.2021    1239    user1015646    0       

Отечественная компания представила сервер приложений Java EE

Новость ИТ-новость Новости компаний Языки программирования

Российская компания Bellsoft представила отечественный аналог сервера Oracle и IBM для JavaEE. Раньше продукт на базе открытого кода был доступен только для некоторых клиентов организации.

17.02.2021    2318    VKuser24342747    4       

Rustоманы из Долины: Google, Microsoft, Huawei, Mozilla и AWS основали фонд поддержки языка программирования

Новость Google ИТ-новость Новости компаний Языки программирования

Rust – перспективный язык, который широко применяется в разработке операционных систем и высоконагруженных веб-сервисов. Rust Foundation будет заниматься поддержкой и развитием языка.

16.02.2021    1571    user1015646    0       

В Microsoft Teams появилась платформа для общения и обучения

Новость Интернет ИТ-новость Мессенджеры Новости компаний

Microsoft добавила новые функции в корпоративный мессенджер Teams. В подключенной к нему платформе Viva можно пройти обучение, пообщаться с коллегами или улучшить организацию работы.

15.02.2021    3138    user1015646    0       

Google рассказала, как защищает Android от взломов

Новость Android Google Безопасность ИТ-новость

Google опубликовала информацию о том, как компания пытается улучшить безопасность Android, и какие шаги предпринимаются для борьбы с распространенными угрозами. Отчеты об уязвимостях играют в этом значительную роль.

12.02.2021    1859    SKravchenko    0       

Для регионов разработают приложение онлайн-записи на прием к врачам

Новость ИТ-новость Медицина Минкомсвязь Цифровая экономика

О возможностях приложения рассказали в Минздраве и Минцифре.

10.02.2021    1639    Senator_I    2       

Google разработает новую мобильную ОС

Новость MobileOS Google ИТ-новость Мобильные приложения

Корпорация Google создаст мобильную операционную систему для повышения безопасности использования устройств. Проект запущен под рабочим названием microdroid.

09.02.2021    2090    user1015646    0       

Google закрывает собственную игровую студию Stadia

Новость Google Видеоигры ИТ-новость Новости компаний

1 февраля Google официально закрыл собственную студию разработки игр для проекта Stadia, чтобы сосредоточить внимание на технологиях, лежащих в основе платформы.

09.02.2021    1416    SKravchenko    0       

Google представила технологию для замены cookies

Новость Google Интернет ИТ-новость

Методы сбора файлов cookies для повышения точности подбора рекламы не раз упрекали в нарушении личного пространства пользователей. Компания Google представила технологию, которая позволит отказаться от cookies и повысить уровень конфиденциальности.

09.02.2021    1217    user1015646    0       

Украинская команда FireWay одержала победу в хакатоне NASA Space Apps Challenge 2020

Новость ИТ-новость Стартапы

Украинская команда FireWay из Днепра стала победителем международного хакатона NASA Space Apps Challenge. Их изобретение было описано как «решение, которое демонстрирует наиболее инновационное использование технологии».

05.02.2021    1881    SKravchenko    2       

Китайцы разработали целых две альтернативы Flash

Новость Интернет ИТ-новость

Китайцам пришлось разработать собственную технологию ReFla взамен Flash для предотвращения сбоев в работе систем. Также они выпустили доработанную версию Flash Player с кодом 34.0.0.92.

04.02.2021    1986    mouse187    4       

Популярные дистрибутивы Linux могут лишиться поддержки Chromium

Новость Linux Google Интернет ИТ-новость

Из дистрибутивов Arch Linux, Fedora, Debian, Slackware и openSUSE может исчезнуть поддержка браузеров на движке Chromium. Причина – жесткие правила Google, из-за которых возникли проблемы с синхронизацией данных.

03.02.2021    2288    user1015646    3       

Microsoft участвует в разработке цифрового паспорта вакцинации от Covid-19

Новость ИТ-новость Медицина

Крупнейшие корпорации из сектора здравоохранения и ИТ-гиганты, такие как Microsoft, Salesforce и другие, объединились для создания цифровых идентификационных карт, которые подтверждают статус вакцинации против Covid-19.

02.02.2021    1696    capitan    3       

Что нового в Chrome 88: проверка надежности паролей и поддержка профилей

Новость Google Интернет ИТ-новость

Компания Google представила новый релиз браузера Chrome и обновила движок Chromium. Теперь ПО будет предупреждать о небезопасных паролях, а пользователь сможет создать привязанный к учетной записи профиль для персонализации работы в сети.

01.02.2021    2148    user1015646    0       

280 символов для науки: Twitter откроет доступ ученым к архиву твитов

Новость ИТ-новость Соцсети

Twitter предоставит академическим исследователям социальных сетей бесплатный доступ почти ко всем твитам. Исключение площадка сделает только для заблокированных аккаунтов.

29.01.2021    1435    VKuser24342747    1       

Отключение Flash на сутки лишило город железнодорожных служб

Новость Интернет ИТ-новость

Прекращение поддержки Flash парализовало работу железнодорожной сети китайского города-миллионника. Организация проигнорировала предупреждения Adobe о грядущем отключении технологии.

29.01.2021    1784    VKuser24342747    1       

Amazon представил форк Elasticsearch с открытым исходным кодом

Новость ИТ-новость Новости компаний Облачные технологии

Компания Amazon намерена развивать собственную версию решения для поиска, хранения и анализа данных Elasticsearch. Форк можно будет использовать в проектах с открытым исходным кодом.

28.01.2021    2201    user1015646    0       

Наниматели назвали самые востребованные языки программирования

Новость Аналитика ИТ-новость Языки программирования

Компания по обучению программистов CodinGame составила рейтинг самых востребованных языков программирования среди нанимателей. Для этого организация опросила 15 тыс. разработчиков и менеджеров по персоналу.

27.01.2021    2401    SKravchenko    1       

Вышел новый мировой стандарт Wi-Fi 6E. В России он не доступен

Новость ИТ-новость Телекоммуникации

В мире стартовало лицензирование и распространение устройств для работы с новым стандартом беспроводных сетей Wi-Fi 6E. В России стандарт не будет поддерживаться, поскольку частота в 6 ГГц уже занята.

26.01.2021    1981    user-programmist    2       

CES 2021: главные анонсы первой технологической выставки года

Новость Инновации ИТ-новость Микроэлектроника

CES (Consumer Electronics Show) в Лас-Вегасе традиционно открывает год на мировом рынке технологий. Из-за ограничений, связанных с пандемией, выставку провели онлайн, но это не помешало производителям представить интересные новинки.

25.01.2021    2451    user1015646    2       

Представлен GitLab 13.7: автооткат при сбоях и улучшенная проверка мердж-реквестов

Новость git Автоматизация ИТ-новость Новости компаний

Компания GitLab выпустила новый релиз платформы для работы с Git-репозиториями. В GitLab 13.7 добавили 45 новых функций, в том числе автоматический откат при сбоях и инструмент проверяющих для запросов на слияние.

22.01.2021    2316    user1015646    0       

Red Hat заменит CentOS бесплатной Red Hat Enterprise Linux

Новость Linux ИТ-новость

Red Hat в декабре объявила о прекращении поддержки CentOS 8 в 2021 году. Это вызвало волну негодования среди разработчиков, но теперь всё встало на свои места: компания представила бесплатные версии Red Hat Enterprise Linux для команд.

21.01.2021    3017    user1015646    0       

Российские исследователи представили новый фреймворк для работы с большими данными

Новость Аналитика Искусственный интеллект ИТ-новость

Специалисты Национального центра когнитивных разработок ИТМО представили платформу, которая упростит создание моделей технологических и бизнес-процессов. Она поможет принимать эффективные управленческие решения в условиях отсутствия полных данных.

21.01.2021    2284    user1015646    2