PEP 308 - ternary operator
Nick Trout
nickNOSPAMtrout at shaw.ca
Sun Feb 16 15:45:30 EST 2003
"Erik Max Francis" <max at alcyone.com> wrote in message
news:3E4FF0C1.70E9CFB9 at alcyone.com...
> Nick Trout wrote:
>
> > I think the definition of short circuiting is a little blurred. I
> > think it
> > basically means you dont want to evaluate the to values before you
> > return
> > one of them, which I don't believe I'm doing in either case.
>
> When you explicitly have to defer execution, like you did in the second
> case, that doesn't qualify as short circuiting. In short circuiting the
> evaluation is implicit.
Oh okay.
> result = {True: math.sqrt(x), False: 0}[x >= 0]
>
> Even when you defer it with an explicit function call, the _value_ is
> still executed, it's just that the value is now a function.
Well what about extending the syntax of above to allow short-circuits and
then you'd get switch statements and ternary operators out of it? :)
More information about the Python-list
mailing list