6
假設我在Python 3中有一個基本的類,它代表了一些類似數字的數據類型。我想這樣做,當我有一個實例,這個類的實例,我可以調用int(x),並讓它調用我的轉換函數返回整數部分。在Python中重載int()
我確定這很簡單,但我似乎無法找到如何去做。
假設我在Python 3中有一個基本的類,它代表了一些類似數字的數據類型。我想這樣做,當我有一個實例,這個類的實例,我可以調用int(x),並讓它調用我的轉換函數返回整數部分。在Python中重載int()
我確定這很簡單,但我似乎無法找到如何去做。
您覆蓋__int__
魔術方法按照下面的例子...
class Test:
def __init__(self, i):
self.i = i
def __int__(self):
return self.i * 2
t = Test(5)
print(int(t))
# 10
重寫__int__()
方法。
我是在假設這是新的Python 3糾正? – 2012-07-20 08:52:01
@Joel:[一點都不]。(http://docs.python.org/reference/datamodel.html#object.__complex__) – 2012-07-20 08:53:28
你每天都會學到新的東西!雖然我很驚訝,但在閱讀文檔時忽略了這一點:P – 2012-07-20 15:50:13