В чем разница между Python 3.10 и 3.11
Python
Middle
Без компании
В чем разница между Python 3.10 и 3.11
Ответы
Python 3.11 принес значительные улучшения производительности (до 25% быстрее) и новые фичи по сравнению с 3.10:
- **Сопоставление структур (Pattern Matching)** улучшено:
```
match status:
case 400: print("Bad request")
case 404: print("Not found")
```
- **Более информативные tracebacks** - теперь показывают конкретные строки с ошибками.
- **Новые типы**:
- `Self` тип для возврата экземпляра класса
- `LiteralString` для безопасности SQL-инъекций
- `Never` и `assert_never`
- **Исключения** можно группировать с помощью `ExceptionGroup` и обрабатывать через `except*`.
- **Оптимизации**:
- Специализированные байткоды
- Более быстрые вызовы функций
- Улучшенная работа со словарями
Пример нового синтаксиса обработки ошибок:
```
try:
...
except* ValueError as eg:
for exc in eg.exceptions:
print(f"ValueError: {exc}")
```
Главное отличие - 3.11 ощутимо быстрее и предлагает более выразительные возможности для типизации и обработки ошибок.