Если вам все еще нужна логика or
без короткого замыкания, сначала оцените все операнды, а затем используйте any
:
if any([a(), b()]):
...
Прежде чем список будет передан в any
(что возвращает True
, если какое-либо значение в списке является достоверным), список должен сначала быть создан (то есть функции будут вызваны и их результаты возвращены).
.
Обратите внимание, однако, что функции должны быть чистыми и не вызывать побочные эффекты, чтобы сделать хакерские обходные пути, подобные этому, необходимыми.