<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Aug 1, 2013 at 4:29 PM, Terry Reedy <span dir="ltr"><<a href="mailto:tjreedy@udel.edu" target="_blank">tjreedy@udel.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div id=":vo" style="overflow:hidden">def f(x): return 2*x<br>

f = lambda x: 2*x</div></blockquote></div><br>Am I the only one who finds the second line above much more readable than the first?  The def statement is not intended to be written in one line.  The readability suffers because the argument is separated from the value expression by return keyword.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">When def statement is written traditionally:</div><div class="gmail_extra"><br></div><div class="gmail_extra">def f(x):</div><div class="gmail_extra">    return 2*x</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">It is easy to run the eyes over the right margin and recognize a function that in a math paper would be written as "f: x -> 2 x".  Same is true about lambda expression.  While C# syntax "f = (x => 2*x)" is probably closest to mathematical notation, "f = lambda x: 2*x" is close enough.  One can mentally focus on the "x: 2*x" part and ignore the rest.</div>
</div>