Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- Класс реализующий список [] и методы списка
- """
- class MyList:
- def __init__(self, start):
- self.my_list = []
- for x in start:
- self.my_list.append(x)
- def __add__(self, other):
- return self.my_list + other
- def __getitem__(self, index):
- return self.my_list[index]
- def __len__(self):
- return len(self.my_list)
- def append(self, other):
- self.my_list.append(other)
- return self.my_list
- def __getattr__(self, name):
- return getattr(self.my_list, name)
- def __mul__(self, value):
- return self.my_list * value
- def __repr__(self):
- return repr(self.my_list)
- class MyListSub(MyList):
- """
- Cчетчик количества выполненных операций сложения, полученных путем перезагрузки оператора __add__, относительно подкласса MyListSub и созданных из него экземпляров.
- """
- calls = 0
- def __init__(self, start):
- self.adds = 0
- MyList.__init__(self,start)
- def __add__(self, other):
- MyListSub.calls += 1
- self.adds += 1
- return MyList.__add__(self, other)
- def stats(self):
- return 'Общее число вызовов операции "+" - %s. Число вызовов операции "+", относительно текущего класса - %s' % (self.calls, self.adds)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement