2.7 Familiar territory
One of the ideas that emerges from the previous list of topics is that many functional programming constructs are already present in Python. Indeed, elements of functional programming are already a very typical and common part of OOP.
As a very specific example, a fluent Application Program Interface (API) is a very clear example of functional programming. If we take time to create a class with return
self
in each method, we can use it as follows:
some_object.foo().bar().yet_more()
We can just as easily write several closely related functions that work as follows:
yet_more(bar(foo(some_object)))
We’ve switched the syntax from traditional object-oriented suffix notation to a more functional prefix notation. Python uses both notations freely, often using a prefix version of a special method name. For example, the len()
function is generally implemented by the __len__()
class special method.
Of course, the implementation of the preceding class might involve...