I am new to python. I have a few questions coming from an armature!

Jussi Piitulainen jussi.piitulainen at helsinki.fi
Wed Aug 17 13:19:58 EDT 2016


MRAB writes:

> On 2016-08-17 12:24, Jussi Piitulainen wrote:
>> BartC writes:
>>
>>> On 17/08/2016 07:39, Steven D'Aprano wrote:
>>>> 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
>>
>> [- -]
>>
>>> Anyway a?b:c was existing practice. At least the order of a,b,c could
>>> have been retained if not the exact syntax.
>>
>> The original was (c1 -> e1, c2 -> e2, ..., cn -> en) in John
>> McCarthy's 1960 paper on symbolic expressions, with an actual arrow
>> glyph in place of hyphen-greater-than.
>>
> [snip]
>
> BCPL, the ancestor of  C, had:
>
>     a -> b, c

Nice. Add a redundant pair of parentheses and it's the same. (When used
as an expression, a final else-branch is mandatory-ish.)

But C uses -> for something else, I think. And other languages use it
for lambda expressions (succesfully, I think, but then they don't have
it available for this purpose).



More information about the Python-list mailing list