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 :-)