Научпоп
В Python используется принцип "утиная типизация":
> "Если объект ведёт себя как утка — он утка"
Это значит, что вас не волнует тип объекта — главное, чтобы он умел нужные методы.
Пример:
code
def quack(animal):
animal.quack()
class Duck:
def quack(self):
print("Кря!")
class Person:
def quack(self):
print("Я умею крякать")
quack(Duck()) # Кря!
quack(Person()) # Я умею крякать
Это делает Python гибким, но требует внимания при написании кода.