TGViewer
Python/ django Python/ django @pythonl · 58.8K subscribers
Post #5658 4.01K
🐍 В Python у while есть else. И многие разработчики узнают об этом спустя годы

Выглядит непривычно:


number = 0

while number < 5:
print(number)
number += 1
else:
print("Цикл завершился")


Блок else выполнится, если цикл закончился естественно, то есть условие while стало ложным.

Но есть важный нюанс. Если внутри сработает break, else уже не выполнится.


number = 0

while number < 5:
if number == 3:
break

number += 1
else:
print("Сюда не попадём")


Из-за этого while...else удобно использовать там, где нужно отличить нормальное завершение поиска от досрочного выхода.

Например, цикл пытается найти нужное значение. Если нашёл, делает break. Если дошёл до конца без успеха, срабатывает else.

Синтаксис существует в Python давно, но до сих пор выглядит как маленькая пасхалка языка.

#Python #Programming #Backend #PythonTips
  • ❤ 17
  • 👍 8
  • 🔥 5
  • 😱 4
  • 🎉 2
More from @pythonl
  1. Sep 20, 2026🐍 Ruff доволен, mypy молчит, тесты зелёные. А в коде четыре одинаковых функции Автор стат…
  2. Sep 19, 2026🐍 В CPython одно чтение `__dict__` может навсегда замедлить доступ к атрибутам конкретног…
  3. Sep 18, 2026🔥 Qwen представила Qwen3.8-Omni-Flash - свою первую мультимодальную модель, изначально за…
  4. Sep 17, 2026🔥 Package Doctor - необычный security-сканер для Python-зависимостей Он отвечает не тольк…
  5. Sep 17, 2026🔥 Один из лучших обучающих курсов на StepiK по SQL SQL можно знать годами и всё равно тер…
  6. Sep 16, 2026🔥 Django Q() objects — один из самых полезных инструментов ORM, который многие используют…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →