^^If it talks and walks like a duck, then it is a duck. Duck typing.

 

There’s no interface keyword in Python. The Java / C# way of using interfaces is not available here. In the dynamic language world, things are more implicit. We’re more focused on how an object behaves, rather than it’s type/class.

 

If it talks and walks like a duck, then it is a duck

If it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck.

So if we have an object that can fly and quack like a duck, we consider it as a duck. This called “Duck Typing”.

ref: http://masnun.rocks/2017/04/15/interfaces-in-python-protocols-and-abcs/