Overload int() in Python
12,366
Solution 1
You override the __int__
magic method as per the following example...
class Test:
def __init__(self, i):
self.i = i
def __int__(self):
return self.i * 2
t = Test(5)
print( int(t) )
# 10
Solution 2
Override the __int__()
method.
Author by
LordLing
Updated on June 04, 2022Comments
-
LordLing almost 2 years
Say I have a basic class in Python 3 which represents some number-like data-type. I want to make it so when I have an instance, x, of this class I can call int(x) and have it call my conversion function to return the integer portion.
I'm sure this is simple, but I can't seem to find out how to do it.