1.6Kпросмотров
94.7%от подписчиков
20 февраля 2026 г.
Score: 1.8K
😨 Моржовый оператор := в Python: как писать код короче и быстрее Если вы до сих пор не используете walrus operator (тот самый «морж»), то самое время это исправить. Если коротко - оператор :=
Позволяет присвоить значение переменной прямо внутри выражения. То есть вам не нужно писать одну и ту же функцию или расчет дважды. Что это дает на практике: 🟢
1️⃣ Меньше повторений и лишних вычислений.
2️⃣ Код становится компактнее (особенно в циклах и list comprehension).
3️⃣ Меньше нагрузка на CPU/API, если расчет «тяжелый». Где это реально экономит время: 🟢 🛑 Меньше повторных вызовов: Без := (вызываем функцию 2 раза):
if get_user_score(user_id) > 80: print(get_user_score(user_id))
С := (вызываем 1 раз, результат сохраняем в score на лету):
if (score := get_user_score(user_id)) > 80: print(score) 🛑В циклах (обработка сообщений или данных): Классика для тех, кто работает с API или агентами:
while (msg := get_next_message()): handle_message(msg)
Пока сообщение приходит → обрабатываем. Как только вернулся None — цикл сам завершится. 🛑 В list comprehension: Когда нужно отфильтровать список по результату функции и этот же результат оставить в списке:
squares_gt_10 = [sq for n in nums if (sq := n n) > 10]
Здесь мы один раз посчитали n n, проверили его и сразу записали в результат. Красота! Итог: 🤩 Моржовый оператор — отличный инструмент, чтобы убрать дублирование кода и оптимизировать его там где это возможно. ❤️ Поддержать канал бустами, чтобы у автора появился дополнительный функционал можно - здесь (это бесплатно и доступно с подпиской telegram premium)
❓ Используете := в работе или считаете, что это только путает код?
✔️ Подпишитесь на канал, чтобы не пропустить следующие посты. 🚬 Делаю резюме, которые превращаются в офферы: mentor.dima-sqlit.ru @dima_sqlit