Proposal: function which simulates C ?: operator
Adal Chiriliuc
me at spammers.com
Sun Jul 11 18:18:19 EDT 2004
I didn't know this was discussed so much in the past. I should have
searched before.
Most of you objected that this is a bad solution because it evaluates
both variants. That's true if you want a real ternary operator. I now
think I gave a bad title to this thread. It shouldn't have mentioned
?:
I've searched through the C++ sources I'm now porting to Python
(450 KB) and found 44 uses of ?: and from these only 4 needed short
circuit evaluation (to avoid dereferencing NULL pointers or zero
division).
I now suggest that this function be added without implying that it's
the Python equivalent of ?: and with the docs clearly explaining that
it's not ?: and how it differs. It will be like Python private vars,
almost but not quite (of course, Python private vars are a lot more
close to the ideal than this is).
Anyway, I suggested this because the function I have is actually named
Util.BoolSelect, and this is kind of long :)
More information about the Python-list
mailing list