Just for curiosity. Discovered Lambdas a few days ago. I was jus wondering if something like that can be done:
(Tried on the interpret but none of my tries seemed to work)
p = lambda x: (lambda x: x%2)/2
There's no explicit purpose. I just did'nt find a satisfactory answer. I may have misunderstood Lambdas.
You aren't actually calling the inner lambda
:
p = lambda x: (lambda x: x%2)(x)/2
Note in Python 2 this example will always return 0
since the remainder from dividing by 2
will be either 0
or 1
and integer-dividing that result by 2
will result in a truncated 0
.
You can use an inner lambda to return another function, based on the outer parameters:
mul = lambda x: (lambda y: y * x)
times4 = mul(4)
print times4(2)
(lambda x: x%2)
is a function, and dividing a function by 2
doesn't make any sense. You probably want to call it and divide what the value it returned.