On 24/08/15 07:38, rakesh sharma wrote:
I am beginner in pythonI see the use of lambda has been for really simple ones 
as in the numerous examples over the net.Why cant we use lambda in another one 
like g = lambda x: (lambda y: y + 1) + 1when I am able to do that in two lines
h = lambda x: x + 1>>> h(12)13y = lambda x: h(x) + 1>>> y(1)3

Your email has arrived with no formatting so its hard to work
out your examples.

You can use lambda in multiple lines but it is limited
to a single expression.

>>> ml = lambda n: (
...          5*n + (
...          n*n - (
...          25)))
>>> ml(7)
59
>>>

And you can use lambda within a lambda:

>>> adder = lambda x: lambda n: n+x
>>> adder(3)
<function <lambda> at 0x7fe3dca0ccf8>
>>> add3 = adder(3)
>>> add3(5)
8
>>>

But for longer functions you are better using def to define them.
In Python lambda is not the underlying mechanism for creating
functions it is a convenience feature. Python is not Lisp.

--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to