Excerpt from: Https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/ 001431843456408652233b88b424613aa8ec2fe032fd85a000
This article is completely used for personal review, invasion and deletion;
When we pass in a function, there are times when we don't need to explicitly define a function, and it's easier to pass in an anonymous function directly.
In Python, there is a limited amount of support for anonymous functions. As an example of a map()
function, when calculating f (x) =x2, in addition to defining a f(x)
function, you can also pass in an anonymous function directly:
>>> list (map (lambda x:x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])) [1, 4, 9, 16, 25, 36, 49, 64, 81]
By contrast, the anonymous function lambda x: x * x
is actually:
def f (x): return x * x
The keyword lambda
represents an anonymous function, preceded by a colon, that x
represents a function parameter.
The anonymous function has a restriction that there can be only one expression , without writing return
, and the return value is the result of that expression .
There is a benefit to using anonymous functions because the function does not have a name and does not have to worry about function name collisions. In addition, the anonymous function is also a function object, you can assign the anonymous function to a variable, and then use the variable to invoke the function:
Lambda x:x * x>>> F<function <lambda> at 0x101c6ef28>> >> F (5)25
Python Learning Notes (10) anonymous functions