<div dir="ltr"><div class="gmail-gs" style="margin:0px;padding:0px 0px 20px;width:838px;font-family:Roboto,RobotoDraft,Helvetica,Arial,sans-serif;font-size:medium;text-decoration-style:initial;text-decoration-color:initial"><div class="gmail-"><div id="gmail-:10j" class="gmail-ii gmail-gt gmail-adO" style="font-size:12.8px;direction:ltr;margin:8px 0px 0px;padding:0px"><div id="gmail-:10i" class="gmail-a3s gmail-aXjCH" style="overflow:hidden;font:small/1.5 Arial,Helvetica,sans-serif"><div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Thu, Jul 19, 2018 at 8:47 AM Rhodri James <<a href="mailto:rhodri@kynesim.co.uk" target="_blank" style="color:rgb(17,85,204)">rhodri@kynesim.co.uk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 19/07/18 09:33, Antoine Pitrou wrote:<br>> There is a use case I sympathize with: the argument-is-None case.  For<br>> that I would suggest a simpler form:  "A else B" which would evaluate<br>> to A if A is not None, otherwise to B (parentheses may be mandatory).<br>><span> </span><br>> So e.g. one of the examples would read:<br>><span> </span><br>>       def insort_right(a, x, lo=0, hi=None):<br>>           # ...<br>>           hi = hi else len(a)<br>>           # ...<br><br>Much as I would like a keyword, "else" is the wrong one.  It implies we<span> </span><br>are dealing with truthiness, which we aren't, and lays a subtle semantic<span> </span><br>trap as a consequence.<br><br>If anyone can think of a good word for "if it isn't None, otherwise",<span> </span><br>I'd be all for it :-)<br><br>--<span> </span><br>Rhodri James *-* Kynesim Ltd<br>_______________________________________________<br>Python-ideas mailing list<br><a href="mailto:Python-ideas@python.org" target="_blank" style="color:rgb(17,85,204)">Python-ideas@python.org</a><br><a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="noreferrer" target="_blank" style="color:rgb(17,85,204)">https://mail.python.org/mailman/listinfo/python-ideas</a><br>Code of Conduct:<span> </span><a href="http://python.org/psf/codeofconduct/" rel="noreferrer" target="_blank" style="color:rgb(17,85,204)">http://python.org/psf/codeofconduct/</a><br></blockquote></div><br clear="all"><div>I think that it may look better with the order switched and the word unless, as in</div><div><br></div><div>    def insort_right(a, x, lo=0 hi=None):</div><div>        # ...</div><div>        hi = len(a) unless hi</div><div>        # ...</div><div><br></div><div>Unfortunately, this does maybe feel more like checking for truthiness than non-Null value</div></div></div></div></div></div></div>