tg-me.com/BookPython/3674
Last Update:
Самые интересные фичи Python 3.12, которые уже можно тестить и встраивать в проекты
1️⃣ Улучшенный match
-case
Теперь можно использовать «захват» значений прямо в паттернах:
def http_status(code):
match code:
case 200 | 201 | 202 as ok:
return f"Success: {ok}"
case 400 as bad | 404 as bad:
return f"Client error: {bad}"
case _:
return "Other"
Большая гибкость и меньше «шаблонных» переменных!
2️⃣ Новый оператор
f”{…=}"
для отладкиПозволяет вывести и имя, и значение переменной в одной строке:
user = "Alice"
age = 29
print(f"{user=}, {age=}")
# Выведет: user='Alice', age=29
Больше никаких лишних
print("user", user)
!3️⃣ Оптимизация работы с памятью и скорость
Команда CPython продолжает ускорение интерпретатора:
* Выделение объектов стало быстрее
* Сборщик мусора реже «паузит» приложение
Это особенно заметно в тяжёлых сервисах и бэкендах.
4️⃣ Новые API для типов
Добавили
typing.Self
и более гибкие Generic-типизации:
from typing import Self
class Builder:
def set_name(self, name: str) -> Self:
self.name = name
return self
b = Builder().set_name("Demo")
Удобнее писать цепочки вызовов без «# type: ignore»!
💡 Что попробовать прямо сейчас?
1. Установить Python 3.12 pre-release:
pyenv install 3.12.0b4
2. Переписать пару функций с
match
-case.3. Пощупать
f"{var=}"
в дебаге.👉@BookPython
BY Библиотека Python разработчика | Книги по питону
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/BookPython/3674