On Mon, 05 Apr 2010 12:08:31 +1200, Gregory Ewing wrote: > Steven D'Aprano wrote: > >> Not according to the PEP. No fewer than 16 alternatives were put to a >> vote, and with no clear winner (but many obvious losers) Guido made the >> final decision. > > As I remember, the decision made on the basis of the vote was *not* to > add a conditional expression at all, because of the fact that there was > no clear winner. > > It was some time later that Guido suddenly announced out of the blue > that he was accepting one of the choices that he had earlier said he > didn't like! > > The ways of the BDFL are strange indeed. :-)
I think what happened was the he got bitten by a subtle bug in the previous idiom for the ternary operator: condition and x or y will return (x if condition else y) *unless* x itself happens to be a false value. This demonstrated that the and/or idiom was not a suitable alternative to a short-circuiting ternary operator. -- Steven -- http://mail.python.org/mailman/listinfo/python-list