Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
This chapter introduces a collection of more advanced
function-related topics: recursive functions, function attributes and
annotations, the lambda expression,
and functional programming tools such as map and filter. These are all somewhat advanced tools
that, depending on your job description, you may not encounter on a
regular basis. Because of their roles in some domains, though, a basic
understanding can be useful; lambdas,
for instance, are regular customers in GUIs.
Part of the art of using functions lies in the interfaces between them, so we will also explore some general function design principles here. The next chapter continues this advanced theme with an exploration of generator functions and expressions and a revival of list comprehensions in the context of the functional tools we will study here.