That is a good point.  Nevermind then.


On Fri, Oct 28, 2016 at 12:20 PM, David Mertz <mertz@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@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@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/