Too much code - slicing

Steven D'Aprano steve at
Tue Sep 21 02:07:07 CEST 2010

On Mon, 20 Sep 2010 19:28:49 +0200, Antoon Pardon wrote:

> Not necessarily. Some of us have the impression that Guido deliberatly
> chose an ugly format for the ternary operator.

If he did, then he must have changed his mind, because there is nothing 
ugly about the ternary operator we ended up with.

> Guido has alwasys been
> against a ternary operator but the requests kept coming. So eventually
> he introduced one. But the impression is that he chose an ugly format in
> the hope of discouraging people to use it.

That's sheer and unadulterated nonsense. The fact is that Guido changed 
his mind about ternary if after discovering that the work-around

true-clause and condition or false-clause

is buggy -- it gives the wrong answer if true-clause happens to be a 
false value like [], 0 or None. If I recall correctly, the bug bit Guido 

The and-or hack, which was *very* common in Python code for many years 
and many versions, follows the same pattern as ternary if:

true-clause if condition else false-clause

It astounds me how the Python community changed it's collective mind from 
admiration of the elegance and simplicity of the expression when it was a 
buggy hack, to despising it when it became a bug-free language feature.

Go figure.


More information about the Python-list mailing list