Python imposes relatively strict ordering on expressions; the notable exceptions are the short-circuit operators, and
and or
. It imposes very strict ordering on statement evaluation. This makes it challenging to find different ways to avoid this strict evaluation.
It turns out that evaluating condition expressions is one way in which we can experiment with non-strict ordering of statements. We'll examine some ways to refactor the if
and else
statements to explore this aspect of non-strict evaluation in Python.
The Python if
, elif
, and else
statements are evaluated in a strict order from first to last. Ideally, a language might relax this rule so that an optimizing compiler can find a faster order for evaluating the conditional expressions. The idea is for us to write the expressions in an order that makes sense to a reader, even if the actual evaluation order is non-strict.
Lacking an optimizing compiler, this concept is a bit of a stretch for Python. Nonetheless...