內建函數的重寫
阿新 • • 發佈:2018-08-29
pre span rep col list data pri iterable div
其它內建函數的重寫方法:
__abs__ abs(obj) 函數
__len__ len(obj) 函數(必須返回整數)
__reversed__ reversed(obj) 函數(必須返回可叠代對象
__round__ round(obj) 函數
class MyList: def __init__(self, iterable=()): self.data = [x for x in iterable] def __repr__(self): return "MyList(%s)" % self.datadef __len__(self): return len(self.data) def __abs__(self): l = [] for x in self.data: if x < 0: y = -x l.append(y) else: l.append(x) self.data = l return MyList(self.data) myl = MyList([1,2,-3,4,-5])print(myl) print(len(myl)) print(abs(myl)) 輸出結果; tarena@tedu:~/zengsf/827$ python3 exercise827_2.py MyList([1, 2, -3, 4, -5]) 5 MyList([1, 2, 3, 4, 5])
內建函數的重寫