Написать пост

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

Аватарка пользователя Булат Яббаров

Тут и нововведения в операторе with, и попытка реализовать своеобразную замену switch/case. В общем, Python 3.10 явно окажется масштабным обновлением.

Несколько дней назад разработчики выпустили первую бета-версию Python 3.10 — последней номерной версии языка на сегодняшний день. И несмотря на то, что это тестовая версия, уже сейчас на её основе можно узнать, что нас ждёт с грядущим крупным обновлением.

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

Сопоставление структурных шаблонов

После нескольких неудачных попыток внедрить 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

Следите за новыми постами
Следите за новыми постами по любимым темам
5К открытий5К показов