![]() |
![]() |
![]() |
|||||
![]() |
Новые возможности Python 3.9: мнения экспертов |
||||||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2020-06-13 12:01 ![]() Новый релиз языка программирования Python 3.9 случится ещё нескоро (ожидаемая дата – 5 октября), но одна за другой выходят бета-версии. Давайте посмотрим, какие улучшения и исправления мы можем ожидать. В этой статье представлен список наиболее интересных и примечательных вещей, которые должны появиться в версии 3.9. ![]() Несмотря на то, что Гвидо сложил с себя полномочия «великодушного пожизненного диктатора», в этой версии автор языка оказал существенное влияние на выбор нового парсера. Вот как об этом пишет Адиль Хаштамов:
Установка бета-версии Чтобы попробовать бета-версию Python 3.9, сначала её нужно установить. В идеале – без конфликтов с текущей версией Python. Последнюю версию можно найти на странице загрузки (названия файлов начинаются с После выполнения последней команды появится классическое приветствие: Новые операторы словаря Наиболее заметной новинкой является операторы слияния словарей Первый вариант использует функцию инициализации словарей Второй подход использует метод Третий и, похоже, самый ясный способ – распаковать обе переменные Все приведенные варианты работают, но теперь есть более удобное решение: Первый пример похож на вариант с распаковкой
Полноценный type hinting из коробки В версии 3.9 для аннотации типов встроенных коллекций таких, как
Топологическая сортировка Следующая интересная новинка является частью модуля Ранее подобную задачу приходилось решать самостоятельно, используя сортировку Хана или поиск в глубину, то есть далеко не самые простые алгоритмы. Теперь в случае необходимости, например, при планировании зависящих друг от друга заданий, достаточно сделать следующее: ![]() В приведенном примере мы описали граф, используя словарь, в котором ключи – это исходящие узлы, а значения – наборы их соседей. Затем мы создали экземпляр сортировщика графа и вызвали функцию Нужно помнить, что при топологической сортировке порядок элементов неоднозначен: когда несколько узлов находятся на одном уровне графа, они возвращаются в том же порядке, в котором были добавлены в граф. Помимо статического упорядочения, класс поддерживает параллельную обработку узлов. Это удобно при работе с очередями задач – примеры можно найти в обновленной документации библиотеки functools. Главный вопрос – почему класс оказался именно в functools? В обсуждениях к публикации «Что нового ожидается в Python 3.9» её автор, пользователь Хабра elmos, отвечает следующим образом:
Адреса IPv6 с параметром scope Еще одно улучшение, появившееся в Python 3.9, – возможность указывать область адресов IPv6 ( Два адреса с разными параметрами Новые функции модуля math Несколько функций было добавлено и улучшено в модуле math. Например, расширены возможности функции поиска наибольшего общего делителя (НОД): Ранее функция math.gcd() могла вычислить НОД лишь для двух чисел. Если требовалось вычислить три и больше, приходилось делать что-то вроде Добавлена новая функция поиска наименьшего общего кратного Другие две новые функции тесно связаны между собой. Это Действие функции Функцию Новые строковые функции Для работы со строками в языке программирования Python в последней версии добавлена пара удобных вспомогательных функций: Раньше в Python тех же результатов можно было достичь, используя подобную функцию: Это простые операции, но, учитывая их распространенность, удобно иметь под рукой встроенные функции.
Коды состояния HTTP Текстовые описания кодов состояний HTTP добавлены в Да, названия и назначения некоторых статусов довольно забавны, но для критичных кодов это позволяет делать их обработку более явной. Заключение Конечно, изменений произошло гораздо больше, но вряд ли имеет смысл перечислять все. Ведь с полным перечнем обновлений в Python 3.9 можно ознакомиться в статье официальной документации. Нельзя сказать, что какое-либо изменение имеет критическое значение – просто программирование на Python становится ещё удобнее и эффективнее. Источники Источник: proglib.io Комментарии: |
||||||