-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path1-6-9.py
More file actions
18 lines (17 loc) · 1.63 KB
/
1-6-9.py
File metadata and controls
18 lines (17 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
'''
https://stepik.org/lesson/24462/step/9
Одно из применений множественного наследование – расширение функциональности класса каким-то заранее определенным способом. Например, если нам понадобится логировать какую-то информацию при обращении к методам класса.
Рассмотрим класс Loggable:
import time
class Loggable:
def log(self, msg):
print(str(time.ctime()) + ": " + str(msg))
У него есть ровно один метод log, который позволяет выводить в лог (в данном случае в stdout) какое-то сообщение, добавляя при этом текущее время.
Реализуйте класс LoggableList, отнаследовав его от классов list и Loggable таким образом, чтобы при добавлении элемента в список посредством метода append в лог отправлялось сообщение, состоящее из только что добавленного элемента.
Примечание
Ваша программа не должна содержать класс Loggable. При проверке вашей программе будет доступен этот класс, и он будет содержать метод log, описанный выше.
'''
class LoggableList(list, Loggable):
def append (self, arg):
super(LoggableList, self).append(arg)
self.log(arg)