object.__int__(self)Вызывается для реализации встроенной функции [function
int()]. Должно возвращать [целое число].
object.__index__(self)Вызывается
operator.index(). Также вызывается всякий раз, когда Python нуждается в целочисленном объекте (например, при нарезке или во встроенных функцияхbin(),hex()иoct()). Необходимо вернуть целое число.
Я понимаю, что они используются для разных целей, но я не мог понять, почему нужны два разных метода. В чем разница между этими методами? Является ли безопасным только псевдоним __index__ = __int__ в моих классах?