ABSTRACT

T hroughout this book, we have stressed the importance of both functional anddata abstractions in problem solving. By decomposing algorithms into groups of functional abstractions, each implemented by a Python function, we have been able to more easily solve complex problems. Each functional abstraction provides a solution to a subproblem that we can use to solve our overall problem, without having to worry about how it works.