Polymorphism

Polymorphism, or dynamic binding, is the ability to use an instance without regard for its type. It is handled entirely through the attribute lookup process described for inheritance in the preceding section. Whenever a method is accessed as obj.method(), method is located by searching within the instance itself, the instance’s class definition, and then base classes, in that order. The first match found is used as the method. For special methods such as __getattr__(), Python first searches in the instance’s class definition, followed by base classes.

Get Python: Essential Reference, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.