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:
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:
Similarly, anonymous functions can be returned as return values, such as:
def build (x, y): return Lambda: x * x + y * y
anonymous function of Python