Первая бета Python 3.10 — что нового?

Намечается по-настоящему интересное обновление.

Несколько дней назад разработчики выпустили первую бета-версию 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