# Ternary Operator Now?

Discussion in 'Python' started by Ben Wilson, Feb 8, 2006.

1. ### Ben WilsonGuest

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

Ben Wilson, Feb 8, 2006

2. ### Steve HoldenGuest

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/

Steve Holden, Feb 8, 2006

3. ### Xavier MorelGuest

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.

Xavier Morel, Feb 8, 2006
4. ### Roy SmithGuest

Steve Holden <> 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)

Roy Smith, Feb 8, 2006