[Python-Dev] conditional expressions?

Tim Peters tim.one@home.com
Mon, 15 Oct 2001 23:22:51 -0400


[Paul Svensson]
> ...
> I know there's been a long time request for this feature,
> supposedly from people coming to Python from C,
> but what's the real reason for adding it now,
> without even a PEP ?

The reason for *considering* it right now is a rapidly closing window of
opportunity -- 2.2b1 goes out later this week.  A fellow on c.l.py has been
plugging away at a PEP, Eric Raymond submitted a working patch for C's ?: in
January of 2000, Jim Fulton loved the idea then (but not particularly the ?:
spelling), David Ascher reported that lack of a conditional was a FAQ in his
classes then, etc etc.  Most replies hated the ?: syntax, and Guido
eventually remembered (although I think he forgot it this time around) that
Algol-60 used the obvious if/then/else.  His reply on Mon, 31 Jan 2000
09:36:52 -0500:

    The solution can be the same as what Algol used:  'if' outside
    parentheses is a statement, and inside parentheses is an expression.
    It's a bit of a grammar rearrangement, but totally unambiguous.

    However, the added keyword means it won't be in 1.6.  The lively
    discussion means that Eric's patch will have a hard time getting
    in too...

The only difference between then and now is s/1.6/2.2/.

> Does it really add enough to the language to justify the bloat ?

I expect most people would say it does; by definition I'll adjust my beliefs
to whatever Guido decides <wink>.