Источник: Nuances of Programming В Python 3.11 включены интересные нововведения. Вот полная документация всех предложений по улучшению Python (PEP). Рассмотрим пять из них и еще одно суперкрутое улучшение. PEP 657: локатор трассировки ошибок Раньше, до Python 3.11, при вызове исключения в трассировке ошибок содержалась лишь строка с описанием ошибки. Например: x, y, z = 1, 2, 0
a, b, c = 3, 4, 5
result = (x / y / z) * (a / b / c) В этом коде выдается ошибка, потому что при делении X/Y на Z получается 0. Это сообщение об ошибке неинформативно: неизвестно, какой частью кода ошибка вызвана. В Python 3.11 вы увидите: С локатором ошибок ~~^~~ выясняется первопричина: Y или Z равен нулю. В коде посложнее эти аннотированные трассировки мощнее. PEP 673: тип self Подсказки типа. Чтобы сослаться на сам текущий класс, раньше приходилось явно определять переменную типа: В версии 3.11 на сам инкапсулирующий класс ссылается тип Self и определять переменную типа не нужно: Доработан асинхронный менедж