-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclass_UaerList.py
30 lines (21 loc) · 1.68 KB
/
class_UaerList.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
'''
Всі ці класи поводяться точно як вбудовані контейнери з тією лише відмінністю, що самі дані лежать у полі data у цих класів і ви можете використовувати це поле на свій розсуд.
UserList - це клас, який дозволяє створювати власні версії списків з додатковими функціями. Ви можете додавати нові методи або змінювати ті, що вже існують, щоб вони працювали по-іншому. Це корисно, коли вам потрібен список, який робить щось спеціальне, чого не робить звичайний список Python.
'''
from collections import UserList
class MyList(UserList):
# Додавання спеціалізованої поведінки. Наприклад, метод для додавання елемента, якщо він ще не існує
def add_if_not_exists(self, item):
if item not in self.data:
self.data.append(item)
# Створення екземпляру MyList
my_list = MyList([1, 2, 3])
print("Оригінальний список:", my_list)
# Додавання елементу, якщо він не існує
my_list.add_if_not_exists(3) # Не додасться, бо вже існує
my_list.add_if_not_exists(4) # Додасться, бо ще не існує
print("Оновлений список:", my_list)
'''
Оригінальний список: [1, 2, 3]
Оновлений список: [1, 2, 3, 4]
'''