Перегрузка int () в Python
скажем, у меня есть базовый класс в Python 3, который представляет некоторый числовой тип данных. Я хочу сделать это так, когда у меня есть экземпляр x этого класса, я могу вызвать int (x) и вызвать мою функцию преобразования, чтобы вернуть целочисленную часть.
Я уверен, что это просто, но я не могу понять, как это сделать.
2 ответов
вы переопределить __int__
magic метод в следующем примере...
class Test:
def __init__(self, i):
self.i = i
def __int__(self):
return self.i * 2
t = Test(5)
print( int(t) )
# 10