[Python-Dev] PEP 8 modernisation (original) (raw)

Ronald Oussoren ronaldoussoren at mac.com
Thu Aug 1 16:53:16 CEST 2013


On 1 Aug, 2013, at 16:48, Alexander Shorin <kxepal at gmail.com> wrote:

Hi Ronald,

I understand this, but I'm a bit confused about fate of lambdas with such guideline since I see no more reasons to use them with p.9 statement: long lines, code duplicate, no mock and well tests etc. - all these problems could be solved with assigning lambda to some name, but now they are looks useless (or useful only for very trivial cases)

That sounds about right :-)

Note that:

f = lambda x: x ** 2

And:

def f(x): return x ** 2

Are functionally equivalent and use the same byte code. The only differences are that the lambda saves two characters in typing, and the "def" variant has a more useful value in its name attribute.

IMHO The lambda variant also looks uglier (even with the def variant on a single line).

Ronald

-- ,,,^..^,,,

On Thu, Aug 1, 2013 at 6:41 PM, Ronald Oussoren <ronaldoussoren at mac.com> wrote:

On 1 Aug, 2013, at 16:34, Alexander Shorin <kxepal at gmail.com> wrote:

Hi Nick,

On Thu, Aug 1, 2013 at 4:44 PM, Nick Coghlan <ncoghlan at gmail.com> wrote: 9. Explicit guideline not to assign lambdas to names (use def, that's what it's for) Even for propose to fit chars-per-line limit and/or to remove duplicates (especially for sorted groupby case)? When you do "name = lambda ..." you've created a named function, when you do that your better of using def statement for the reasons Nick mentioned in the PEP. Ronald

-- ,,,^..^,,,


Python-Dev mailing list Python-Dev at python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/ronaldoussoren%40mac.com



More information about the Python-Dev mailing list