1. 程式人生 > >內建函數的重寫

內建函數的重寫

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.data

    
def __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])

內建函數的重寫