Python был обновлен с новым выпуском, который улучшает обработку словаря и добавляет новые строковые методы.
Python 3 разрабатывается с 2008 года, в то время как линия Python 2.x остается в использовании. Хотя часть имени .9 может звучать так, как будто Python 4 уже не за горами, по мнению команды разработчиков, это не так. Они говорят, что следующий релиз после 3.9 будет 3.10, что будет постепенным улучшением по сравнению с 3.9, так же, как 3.9 был по сравнению с 3.8, и так далее. Python 3.10 будет доступен в это время в следующем году, хотя первый альфа-релиз того, что станет 3.10.0 через год, доступен для тестирования уже сейчас.
Первым улучшением последней версии является добавление операторов слияния (|) и обновления (|=) в класс словаря. Дополнения были сделаны потому, что существующие способы объединения двух диктов имеют ряд недостатков, таких как необходимость временной переменной или трудность обнаружения и понимания.
Вторым улучшением, которое следует отметить, является предоставление новых строковых методов для удаления префиксов и суффиксов. Разработчики говорят, что они были добавлены, потому что пользователи были сбиты с толку при попытке использовать существующие методы str.lstrip и str.rstrip для удаления префиксов и суффиксов. Новые removeprefix и removesuffix на самом деле ведут себя так, как ожидают пользователи. Наряду со строковыми методами, байтами, bytearray и коллекциями.Также были добавлены методы UserString.
Python 3.9 также включает в себя новый парсер, основанный на PEG, а не на LL(1), как это было в случае со старыми парсерами. Новый парсер не быстрее старого, но он более гибкий. Команда разработчиков говорит, что новый синтаксический анализатор должен устранить множество «хаков», существующих в текущей грамматике, чтобы обойти ограничение LL(1), таким образом, сократив затраты на обслуживание и сняв ограничение LL(1) для текущей грамматики Python.
Python 3.9 также имеет новый библиотечный модуль — базу данных часовых поясов IANA. Библиотека datetime Python использует гибкий механизм для обработки часовых поясов, и пользователи могут реализовывать произвольно сложные правила часовых поясов, но на практике большинство пользователей хотят поддерживать только три типа часовых поясов: UTC, системное местное время и часовые пояса IANA. Это дополнение добавляет эту поддержку.