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

14.10.2020      33660

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.

Автор:
Обозреватель


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

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

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

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

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

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

См. также

В программу подготовки спортивных программистов вошли бег и скорость печати

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

Пятничное: в России вступил в силу стандарт подготовки по дисциплине «спортивное программирование». В стандарт вошли требования к физическим показателям спортсменов и скорости набора текста.

16.02.2024    642    VKuser24342747    2       

1

Росстандарт утвердил протокол LoRaWAN для интернета вещей

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

Федеральное агентство по техническому регулированию и метрологии (Росстандарт) утвердило национальный стандарт протокола LoRaWAN RU, таким образом он получил официальный статус. Технология используется для беспроводной передачи данных между устройствами интернета вещей.

19.01.2024    423    VKuser24342747    0       

2

Новый закон откладывает на год вступление в силу изменений в порядок регистрации на сайтах

Новость Законодательство ИТ-Новость

12 декабря вступил в силу Федеральный закон, меняющий срок, к которому все владельцы сайтов должны внести изменения в порядок авторизации пользователей на сайте. Закон вводит переходный период до 1 января 2025 года.

20.12.2023    606    VKuser24342747    2       

1

Вышло крупное обновление для Android Studio

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

Новая версия Android Studio под номером 2023.1 получила имя Hedgehog. Появились возможности контролировать производительность приложений и управлять подключенными устройствами.

07.12.2023    717    VKuser24342747    2       

3

GitHub опубликовал результаты ежегодного исследования проектов с открытым исходным кодом

Новость GitHub ИТ-Новость

GitHub собрал данные об Open Source проектах в рамках ежегодного исследования Octoverse. Компания изучила географию репозиториев, используемые языки программирования и нейросети, а также активность сообщества.

15.11.2023    486    VKuser24342747    1       

2

Некоммерческие проекты смогут получить бесплатный доступ к GigaChat API

Новость ИТ-компания ИТ-Новость

Компания «Сбер» заявила, что будет бесплатно предоставлять доступ к API нейросети для генерации текста GigaChat для некоммерческих проектов. Однако для них будет ограничено число доступных токенов.

01.11.2023    599    VKuser24342747    2       

3

Состоялся релиз свободной среды разработки Geany 2.0

Новость ИТ-Новость Программист

Вышла новая версия Geany 2.0. Обновление затронуло внешний вид программы, расширило поддержку файлов и сторонних проектов, добавило новые способы работы с кодом.

25.10.2023    691    VKuser24342747    0       

1

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

Новость Минцифры ИТ-Новость Роскомнадзор

Минцифры подготовило проект постановления, которое утверждает требования к организации, претендующей на статус оператора реестра провайдеров хостинга.

25.10.2023    356    VKuser24342747    0       

1

Минцифры составило алгоритм действий для компаний, у которых не работает VPN

Новость Минцифры ИТ-Новость

Минцифры подготовило разъяснения для российских организаций, у которых возникли перебои в работе VPN-сервисов для клиентов и сотрудников из-за блокировки запрещенных ресурсов Роскомнадзором.

24.10.2023    611    VKuser24342747    0       

0

«Сбер» объявила о доступности SberLinux OS Server для российских компаний

Новость Импортозамещение ИТ-Новость

«СберТех», дочерняя компания «Сбера», объявила о предоставлении доступа к собственной серверной операционной системе SberLinux OS Server российским компаниям. ОС включена в реестр отечественного ПО.

20.10.2023    822    VKuser24342747    0       

2

Минцифры внесло изменения в проект правил идентификации клиентов веб-хостингов

Новость Минцифры ИТ-Новость Роскомнадзор

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

18.10.2023    456    VKuser24342747    0       

1

Google выпустила финальную версию Android 14

Новость Android Google ИТ-Новость

Google выпустила новую версию мобильной ОС Android 14. Изменения затронули настройки внешнего вида и безопасности. Были расширены возможности камеры и инструментов для хранения данных.

12.10.2023    672    VKuser24342747    0       

1

Яндекс объявил об открытии исходного кода DataLens

Новость Аналитика ИТ-Новость Яндекс

BI-система Yandex DataLens теперь развивается в опенсорс. Код продукта выложен для всех на GitHub. Любой желающий сможет развернуть DataLens на своем железе и доработать его под свои сценарии применения.

03.10.2023    1363    ЕленаЧерепнева    1       

6

Роскомнадзор создаст реестр хостинг-провайдеров

Новость Минцифры ИТ-Новость Роскомнадзор

Минцифры подготовило несколько проектов постановлений, которые утверждают правила ведения реестра поставщиков хостинг-услуг, а также новые требования к провайдерам.

02.10.2023    560    VKuser24342747    0       

1

«СберТех» представил репозиторий GitVerse с ИИ-помощником для написания кода

Новость Импортозамещение ИТ-Новость Программист

«СберТех» начал прием заявок на тестирование веб-сервиса для публикации ИТ-проектов GitVerse. Платформа подходит для разработки программ с открытым и закрытым кодом.

26.09.2023    765    VKuser24342747    2       

1

ИП и юрлица смогут использовать смартфон для создания и замены электронной подписи

Новость ИТ-Новость ФНС Цифровая подпись

ФНС внесла изменения в правила оформления электронной подписи руководителя организации и ИП. Станет возможным продлевать ее и записывать при помощи мобильного устройства.

18.09.2023    415    VKuser24342747    1       

1

Журнал IEEE Spectrum опубликовал рейтинг популярности языков программирования

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

Журнал Института инженеров электротехники и электроники IEEE Spectrum подготовил рейтинг самых популярных языков программирования в 2023 году. Статистика разделена на три категории.

01.09.2023    1261    VKuser24342747    4       

2

В бета-версии Microsoft 365 появилась поддержка языка Python для Excel

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

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

28.08.2023    642    VKuser24342747    0       

2

Специалисты Калифорнийского университета установили, что боты справляются с CAPTCHA лучше, чем люди

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

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

24.08.2023    1140    VKuser24342747    23       

2

Google Chrome начнет поддерживать квантово-устойчивые алгоритмы шифрования

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

В версии Google Chrome 116 появится поддержка алгоритмов шифрования, устойчивых к попыткам дешифрации при помощи квантовых вычислений. Технология объединяет преимущества классической и инновационной криптографии.

24.08.2023    464    VKuser24342747    0       

1

В реестр российского ПО включен первый комплекс обработки больших данных

Новость Импортозамещение Минцифры ИТ-Новость Реестр ПО

Минцифры внесло в реестр отечественного ПО программно-аппаратный комплекс «Скала-Р», предназначенный для обработки больших данных. Это первый комплекс с таким функционалом, включенный в перечень.

22.08.2023    452    VKuser24342747    0       

1

Microsoft внедрила новые функции в GitHub Copilot и анонсировала Windows Copilot

Новость GitHub Искусственный интеллект

ИИ-помощник для разработчиков GitHub Copilot теперь не только в реальном времени анализирует код, предлагает варианты для его улучшения и помогает найти решение проблем в разработке, но и  показывает ссылки на репозитории, из которых взят код. 

17.08.2023    1137    VKuser24342747    0       

1

В JetBrains разработали ИИ-помощника для аналитиков данных

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

JetBrains представила нейросеть Ask AI для онлайн-блокнота Datalore. Виртуальный ассистент способен генерировать код на нескольких языках, предлагать доработки и упрощать процесс аналитики данных. 

16.08.2023    649    VKuser24342747    0       

1

Исследование: ChatGPT дает неправильный ответ на половину вопросов о программировании

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

Чат-бот OpenAI ошибается в 52% случаев, когда отвечает на вопросы по программированию. Однако делает это так убедительно, что пользователи не замечают ошибки. 

14.08.2023    986    VKuser24342747    5       

3

Минцифры проведет эксперимент по цифровизации «жизненного цикла» госслужащего

Новость Минцифры ИТ-Новость

Минцифры подготовило постановление о проведении эксперимента по внедрению ИТ в управление «жизненным циклом» госслужащего. Ведомство намерено автоматизировать все этапы работы сотрудников госструктур.

04.08.2023    547    VKuser24342747    0       

2