if ((handle = openhandle()) == null) — вполне себе нормальная ситуация, ибо те же Go, C++17 имеют синтаксический сахар для этого в виде if (definition; condition) operator
Любопытно, что до Python 3.8 нельзя было присваивать в if-ах/циклах, но спустя много лет коммьюнити таки решило, что это нужно, и добавило assignment expressions через оператор :=
Сегодня понравилось прочитать PEP, где это принимали - они реально посмотрели на код стандартной библиотеки и выписали много ситуаций, когда := улучшает читабельность