Поделиться
Несколько дней назад разработчики выпустили первую бета-версию Python 3.10 — последней номерной версии языка на сегодняшний день. И несмотря на то, что это тестовая версия, уже сейчас на её основе можно узнать, что нас ждёт с грядущим крупным обновлением.
Сопоставление структурных шаблонов
После нескольких неудачных попыток внедрить switch/case в Python, разработчики языка решили пойти иным путём. Они решили реализовать похожий функционал через сопоставление структурных шаблонов:
command = input()
match command.split():
case [«quit»]:
quit()
case [«load», filename]:
load_from(filename)
case [«save», filename]:
save_to(filename)
case _:
print (f»Command ‘{command}’ not understood»)
Улучшение отчётов об ошибках
Теперь отчёт об ошибках в коде будет более наглядно показывать, что именно было сделано неверно.
Отчёт в более старых версиях Python:
python
print («Hello»
print («What’s going on?»)
File «.test.py», line 2
print («What’s going on?»)
^
SyntaxError: invalid syntax
Отчёт в Python 3.10:
File «.test.py», line 1
print («Hello»
^
SyntaxError: ‘(‘ was never closed
Прочие нововведения
-
оператор with теперь поддерживает многострочный синтаксис в скобках;
переменные можно будет объявлять как псевдонимы типов;
для сборки CPython потребуется OpenSSL 1.1.1 или новее.
С полным списком можно ознакомиться в материале по ссылке.
Источник: Sudosecurity
Источник: