On Sat, 18 Sep 2010 19:09:33 -0700, Carl Banks wrote: > Apart from occasions like this and throwaway one-liners I use regular > if-then statements. If Python had added the C-like a ? b : c, then I'd > use it a lot more, since that version is not inherently unbalanced.
Define "unbalanced". Putting aside the over-use of punctuation, The C syntax feels unbalanced to me. You have: condition IF true-clause ELSE false-clause so both clauses follow the test, that is, they're on the same side: ?-- This looks unbalanced to me. And it reads like something Yoda would say, or Forth code. But the Python syntax looks balanced to me: true-clause IF condition ELSE false-clause which is not only plain English, but perfectly balanced, with a clause on either side of the test: -?- Python's ternary-if puts the emphasis on the true-clause, while C's ternary-if puts the emphasis on the test. I'm not convinced that this is necessarily a better choice than Python's. It's a *valid* choice, but better? I don't think so, but I accept that at least partially boils down to subjective factors. -- Steven -- http://mail.python.org/mailman/listinfo/python-list