Defending the ternary operator
Andrew Dalke
adalke at mindspring.com
Mon Feb 10 03:21:24 EST 2003
Andrew Koenig:
> The fact that people are suggesting such circumlocutions says to me
> that there is a use for the feature, and the fact that people are
> suggesting incorrect circumlocutions makes my skin crawl.
Hey, you also caught when I used the if/else expression the wrong way ;)
In the universe of all times when if/else might be used, it is relatively
uncommon to actually use it (by my analysis of C/C++ code). Of those
C/C++ examples, some of the cases had better "Pythonic" examples.
I've given some examples elsewhere.
My estimate is that for every appropriate use of ?: in C/C++ only
1 of those 3 is appropriate for Python because other solutions exist
which *are* natural, and not circumlocutions. Of those, my estimate
is that about 1/2 of the time someone will choose to use the ?: way
instead of the clearer non-?: solution.
This means that for every two uses of ?: in Python-with-if/else-expressions
which ARE understandable, readable, etc, there will be one to
two cases which ARE NOT.
And that makes my skin crawl.
I prefer no circumlocutions ("use an if/else statement") and no
crawling skin.
Andrew
dalke at dalkescientific.com
More information about the Python-list
mailing list