Does Python evaluate if's conditions lazily? [duplicate]
Solution 1:
Yes, Python evaluates boolean conditions lazily.
The docs say,
The expression x and y first evaluates x; if x is false, its value is returned; otherwise, y is evaluated and the resulting value is returned.
The expression x or y first evaluates x; if x is true, its value is returned; otherwise, y is evaluated and the resulting value is returned.
Solution 2:
and
or
is lazy
&
|
is not lazy