Velocity Reviews > Ternary Operator Now?

# Ternary Operator Now?

Ben Wilson
Guest
Posts: n/a

 02-08-2006
I read somewhere else that Python was getting a ternary operator (e.g.
x = (true/false) ? y : z). I read the PEP about it and that the PEP had
been approved this past Fall. Has this been released into the wild yet?

IIRC, the operator is like:

x = y if C : else z

Steve Holden
Guest
Posts: n/a

 02-08-2006
Ben Wilson wrote:
> I read somewhere else that Python was getting a ternary operator (e.g.
> x = (true/false) ? y : z). I read the PEP about it and that the PEP had
> been approved this past Fall. Has this been released into the wild yet?
>
> IIRC, the operator is like:
>
> x = y if C : else z
>

Currently scheduled for next (2.5) release, but not yet implemented.

There's no colon in the construct.

regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC www.holdenweb.com
PyCon TX 2006 www.python.org/pycon/

Xavier Morel
Guest
Posts: n/a

 02-08-2006
Ben Wilson wrote:
> I read somewhere else that Python was getting a ternary operator (e.g.
> x = (true/false) ? y : z). I read the PEP about it and that the PEP had
> been approved this past Fall. Has this been released into the wild yet?
>
> IIRC, the operator is like:
>
> x = y if C : else z
>

PEP 308 "Conditional Expressions" has been accepted for Python 2.5, I'm
pretty sure implementation hasn't even started yet.

Roy Smith
Guest
Posts: n/a

 02-08-2006
Steve Holden <(E-Mail Removed)> wrote:
>> x = y if C : else z
>>

>
>Currently scheduled for next (2.5) release, but not yet implemented.

This still makes me barf. Has Python jumped the shark?

It looks marginally better if you write it as:

x = (y if C else z)