Ну, краткий ответ: когда они вам нужны .
Поскольку существует множество встроенных функций, я не могу ответить за все из них. Тем не менее, вы можете почти все время управлять, даже не перекрывая встроенную функцию Python.
Обычно, когда вы делаете , они нужны, когда вы хотите, чтобы ваш объект работал как встроенный тип данных в Python. Например, если вы хотите иметь возможность запустить
len(...)
на вашем объекте (переопределите _____ len _____ (...)) или сравните два объекта ваших типов данных следующим образом:
obj1 < obj2
(переопределить _____ cmp _____ (...)) для этого.