Українська
Відкрити в Telegram

Постfinally мовчки затирає твій return

2 жовтня 2026
P
Python Nation🐍🇺🇦
finally мовчки затирає твій return Погляньмо на функцію: def f(): try: return "from try" finally: return "from finally" f() # "from finally" Здавалося б, return "from try" мав спрацювати. Але finally виконується завжди - навіть після return. І якщо в ньому є свій return, він перекриває той, що був у try. Те саме з винятками: return у finally проковтне навіть виняток, який мав вилетіти назовні. def g(): try: raise ValueError("boom") finally: return "all good" g() # "all good", виняток зник Помилка сталася, але про неї ніхто не дізнається. Такий баг ловиться довго, бо код виглядає цілком робочим. Висновок: finally тримай тільки для очищення (закрити файл, зʼєднання, відпустити лок). Ніяких return чи raise всередині - інакше він тихо перепише всю логіку вище.
1 · 137 ·

Поруч у стрічці

PPython Nation🐍🇺🇦Чому 256 is 256 - True, а 257 is 257 - не завжди У пайтоні є оператор is, який перевіряє не рівність значень, а те, чи це один і той самий обʼєкт у памʼяті. І тPPython Nation🐍🇺🇦Чому None перевіряють через is, а не == У пайтоні прийнято писати if x is None, а не if x == None. І це не просто стиль. None - це єдиний обʼєкт на всю програму
це повідомлення
PPython Nation🐍🇺🇦Python Nation🐍🇺🇦@pythonnation · канал · Технології
1 925підписників184середнє охоплення поста
Стрічка майданчика Відкрити в Telegram

Відкрита публічна стрічка з пошукового індексу ChatCrawler — «Google по публічному Telegram»; оновлюється в міру обходу майданчика. Час — UTC.

Лише публічний контент, офіційний API Telegram. Про проєкт · Питання · Межі індексу · Прибрати сторінку з видачі · Каталог · Пошук · Як ми рахуємо