Familiar territory
One of the ideas that emerge from the previous list of topics is that most functional programming is already present in Python. Indeed, most functional programming is already a very typical and common part of Object-Oriented Programming.
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 function, 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 class.__len__()
special method.
Of course, the implementation of the class shown above might involve...