In the Zen of Python, Tim Peters states that Flat is better than nested.
. If I have understood that correctly, then in Python, this:
<statement-1> if <condition> else <statement-2>
is generally preferred over this:
if <condition>:
<statement-1>
else:
<statement-2>
However, in other languages, I have been told not to nest the ternary operator, and the instead use the traditional if...else
. My question, then, is should I use this:
(<statement-1> if <condition-1> else <statement-2>) if <condition-2> else <statement-3>
or
if <condition-2>:
if <condition-1>:
<statement-1>
else:
<statement-2>
else:
<statement-3>
? Particularly if the statements and conditions are long, and the first line would need splitting?