I am new to python. I have a few questions coming from an armature!
BartC
bc at freeuk.com
Wed Aug 17 05:39:17 EDT 2016
On 17/08/2016 07:39, Steven D'Aprano wrote:
> On Wednesday 17 August 2016 06:59, Lawrence D’Oliveiro wrote:
[Quote]
> trueval if cond else falseval
> "Go to the movies, if I finish work on time, otherwise just go home."
Is there /any/ programming language that uses a similar form?
Apart from Python, except that it only uses it for expressions, while
the English uses statements.
> Every time you read the C syntax, you lose another three minutes off your
> lifespan. That's how ugly it is.
> Rather than ask why Python uses `trueval if cond else falseval`, you should ask
> why C uses `cond ? trueval : falseval`. Is that documented anywhere?
I'm not fond of C's a ? b : c but the principle is sound. I generally
use it as:
(a | b | c) # /with/ the parentheses
which is a direct equivalent of:
if a then b else c fi # from algol 68
So it matches if-statements. And follows the same pattern as:
(n | a, b, c ... | z)
That is, you are given an index, or condition, and based on that you can
skip to the option you want and ignore the rest. You don't start with
the alternative that you may then have to discard.
Anyway a?b:c was existing practice. At least the order of a,b,c could
have been retained if not the exact syntax.
--
Bartc
More information about the Python-list
mailing list