1
類
我寫它實現了__int__
方法,這樣一個實例可以表現得像一個整數類:如何爲十六進制的功能支持添加到
class MyClass:
def __init__(self, value):
self._value = value
def __int__(self):
return self._value
使用int
功能上的一個實例工作正常,並我認爲其他內置函數是隱式依賴的,例如hex
。不過,我得到了以下錯誤消息:
>>> x = MyClass(5)
>>> int(x)
5
>>> hex(x)
TypeError: 'MyClass' object cannot be interpreted as an integer
我試圖推行以同樣的方式__hex__
方法__int__
,但沒有效果。
我該怎麼做才能讓我的課程實例被hex
接受?