PEP 308: ternary operator

Terry Hancock hancock at anansispaceworks.com
Sat Feb 22 00:58:56 EST 2003


Damien Morton wrote:
> The C ternary operator is quite easy to remember.
> <question> ? <answer> : <alternative_answer>

No, if it were easy to remember, you wouldn't need this mnemonic. I'm not 
saying it's impossible to learn. I'm saying that it's sufficient 
bizarre-looking that if -- like me -- you use it fairly rarely, you have to 
waste time looking it up to be sure.

Consider for example, that the position of the conditional in a standard 
Python if-else structure is right after the condition:

if <question>:
    pass
else:
    pass

Which suggests the reversed order, doesn't it?  Again, I'm not looking for 
a mnemonic to help me with C (I've pretty much abandoned it for most 
purposes, anyway).  I'm trying to say why I think newbies will be turned 
off by this syntax.

Pointer syntax isn't that hard to remember either -- but it was 
sufficiently confusing to avoid doing it in Python.

Cheers,
Terry

-- 
Anansi Spaceworks
http://www.anansispaceworks.com




More information about the Python-list mailing list