Polymorphism and duck-typing
Polymorphism is a programming language feature which allows us to use objects of different types through a uniform interface. The concept of polymorphism applies to both functions and more complex objects. We've just seen an example of polymorphism with the card printing example. The make_boarding_card() method didn't need to know about an actual – or as we say "concrete" – card printing type, only the abstract details of its interface. This interface is essentially just the order of it's arguments. Replacing our console_card_printer with a putative html_card_printer would exercise polymorphism.
Polymorphism in Python is achieved through duck typing. Duck typing is in turn named after the "duck test", attributed ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access