python重写父类方法,python重写,class MyList
文章由Byrx.net分享于2019-03-23 07:03:10
python重写父类方法,python重写,class MyList
class MyList: def __init__(self, start): #self.wrapped = start[:] self.wrapped = [] for x in start: self.wrapped.append(x) def __add__(self, other): return MyList(self.wrapped + other) def __mul__(self, time): return MyList(self.wrapped * time) def __getitem__(self, offset): return self.wrapped[offset] def __len__(self): return len(self.wrapped) def __getslice__(self, low, high): return MyList(self.wrapped[low:high]) def append(self, node): self.wrapped.append(node) def __getattr__(self, name): return getattr(self.wrapped, name) def __repr__(self): return 'self.wrapped'class MyListSub(MyList): calls = 0 def __init__(self, start): self.adds = 0 MyList.__init__(self, start) def __add__(self, other): MyListSub.calls = MyListSub.calls + 1 self.adds = self.adds + 1 return MyList.__add__(self, other) def stats(self): return self.calls, self.adds if __name__ == '__main__': x = MyListSub('A') y = MyListSub('B') print x[0] print x[1:] print x + ['C'] print x + ['D'] print y + ['E'] print x.stats()
评论关闭