Fredrik Lundh wrote: > Reinhold Birkenfeld wrote: > >> after Guido's pronouncement yesterday, in one of the next versions of Python >> there will be a conditional expression with the following syntax: >> >> X if C else Y >> >> which is the same as today's >> >> (Y, X)[bool(C)] > > hopefully, only one of Y or X is actually evaluated ?
(cough) Yes, sorry, it's not the same. The same would be (C and lambda:X or lambda:Y)() if I'm not much mistaken. >> C and X or Y (only if X is True) > > hopefully, "only if X is True" isn't in fact a limitation of "X if C else Y" ? > > /... snip comment that the natural order is C, X, Y and that programmers that > care about readable code will probably want to be extremely careful with this > new feature .../ Yes, that was my comment too, but I'll not demonize it before I have used it. Reinhold -- http://mail.python.org/mailman/listinfo/python-list