9.4 Recall
We’ve touched on a number of ways that object-oriented and functional programming techniques are part of Python:
-
Python built-in functions provide access to special methods that can be implemented by a wide variety of classes. Almost all classes, most of them utterly unrelated, provide an implementation for __str__() and __repr__() methods, which can be used by the built-in str() and repr() functions. There are many functions like this where a function is provided to access implementations that cut across class boundaries.
-
Some object-oriented languages rely on “method overloading” — a single name can have multiple implementations with different combinations of parameters. Python provides an alternative, where one method name can have optional, mandatory, position-only, and keyword-only parameters. This provides tremendous flexibility.
-
Functions are objects...