[Python-ideas] PEP 505: None-aware operators
Judah Levy
judah.j.levy at gmail.com
Thu Jul 19 08:59:42 EDT 2018
On Thu, Jul 19, 2018 at 8:47 AM Rhodri James <rhodri at kynesim.co.uk> wrote:
> On 19/07/18 09:33, Antoine Pitrou wrote:
> > There is a use case I sympathize with: the argument-is-None case. For
> > that I would suggest a simpler form: "A else B" which would evaluate
> > to A if A is not None, otherwise to B (parentheses may be mandatory).
> >
> > So e.g. one of the examples would read:
> >
> > def insort_right(a, x, lo=0, hi=None):
> > # ...
> > hi = hi else len(a)
> > # ...
>
> Much as I would like a keyword, "else" is the wrong one. It implies we
> are dealing with truthiness, which we aren't, and lays a subtle semantic
> trap as a consequence.
>
> If anyone can think of a good word for "if it isn't None, otherwise",
> I'd be all for it :-)
>
> --
> Rhodri James *-* Kynesim Ltd
> _______________________________________________
> 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/
>
I think that it may look better with the order switched and the word
unless, as in
def insort_right(a, x, lo=0 hi=None):
# ...
hi = len(a) unless hi
# ...
Unfortunately, this does maybe feel more like checking for truthiness than
non-Null value
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20180719/45012e0b/attachment.html>
More information about the Python-ideas
mailing list