Duck Typing in Python: Writing Flexible and Decoupled Code - Real Python
Briefly