[Python-ideas] Leave off "else" in ternary expression

Todd toddrjen at gmail.com
Fri Oct 28 12:35:17 EDT 2016


That is a good point.  Nevermind then.


On Fri, Oct 28, 2016 at 12:20 PM, David Mertz <mertz at gnosis.cx> wrote:

> This seems pretty nonsensical to me. Ternaries are not only used in simple
> assignments.
>
> E.g. 'myfunc(a, b if pred else c, d)' is common and obvious.
>
> 'myfunc(a, b if pred, d)' is strange with no obvious semantics.
>
> On Oct 28, 2016 11:29 AM, "Todd" <toddrjen at gmail.com> wrote:
>
>> The null-coalescing discussion made me think about the current ternary "x
>> = a if b else c" expression.  In normal "if / else" clauses, the "else" is
>> optional.  I propose doing the same thing with ternary expressions
>> (although I don't know what the result would be called, a "binary
>> expression"?)
>>
>> The idea would be to allow this syntax:
>>
>> x = a if b
>>
>> Which would be equivalent to:
>>
>> x = a if b else x
>>
>> I think this would be useful syntax.  In particular, I see it being
>> useful for default value checking, but can also be used to override the
>> result of particular corner cases from functions or methods..
>>
>> _______________________________________________
>> Python-ideas mailing list
>> Python-ideas at python.org
>> https://mail.python.org/mailman/listinfo/python-ideas
>> Code of Conduct: http://python.org/psf/codeofconduct/
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20161028/6862bebe/attachment.html>


More information about the Python-ideas mailing list