object.__int__(self)
object.__float__(self)

Вызывается для реализации встроенных функций complex()int()и float(). Должен возвращать значение соответствующего типа.

object.__index__(self)

Вызывается для реализации operator.index(), а также всякий раз, когда Python необходимо преобразовать числовой объект в целочисленный без потерь (например, при срезах или во встроенных функциях bin()hex() и oct()). Наличие этого метода указывает на то, что числовой объект имеет целочисленный тип. Должен возвращать целое число.

Если __int__()__float__() и __complex__() не определены, то соответствующие встроенные функции int()float() и complex() возвращаются к __index__().

object.__round__(self[, ndigits])
object.__trunc__(self)
object.__floor__(self)
object.__ceil__(self)

Вызывается для реализации встроенной функции round() и math функций trunc()floor() и ceil(). Если ndigits не передан __round__()всем этим методам, они должны возвращать значение объекта, усеченное до Integral (обычно int).

Изменено в версии 3.14:int()больше не делегирует полномочия __trunc__() методу.