Anonymous functions
One last type of function that we want to talk about are anonymous functions. These functions, which are called lambdas in Python, are usually used when a fully fledged function with its own name would be overkill, and all we want is a quick, simple one-liner that does the job.
Imagine that we wanted a list of all the numbers up to a certain value of N that are also multiples of five. We could use the filter()
function for this, which will require a function and an iterable as input. The return value is a filter object that, when you iterate over it, yields the elements from the input iterable for which the function returns True
. Without using an anonymous function, we might do something like this:
# filter.regular.py
def is_multiple_of_five(n):
return not n % 5
def get_multiples_of_five(n):
return list(filter(is_multiple_of_five, range(n)))
Note how we use is_multiple_of_five()
to filter the first n natural numbers. This seems a bit excessive...