Like many things, this can be fixed with some indirection: def nvl(v, default): if v is None: return default() else: return v f(nvl(g(), lambda: expensive())) ...
Some results have been hidden because they may be inaccessible to you
Show inaccessible results