Найти - Пользователи
Полная версия: Наследник от list. Перехват модификации списка
Начало » Python для экспертов » Наследник от list. Перехват модификации списка
1
gkraser
Имеется класс, наследник от list:

class MyList(list):
pass
Нужно отслеживать, что элемент был добавлен/удален. Однако эти операции производятся кучей методов (append, insert, extend, del A ….). И нет единого способа отследить, что элемент был добавлен/удален…. Или все таки есть? Что то не нашел.

Сейчас получается, что нужно перехватывать все методы, влияющие на содержимое списка.
regall
Наследоваться следует не от list, а от UserList. Он, собственно для этого и создан.
>>> from UserList import UserList
>>>
Можете попробовать использовать событийную систему какую-нибудь, но в любом случае событие нужно генерировать при любых изменениях в составе списка.
gkraser
regall
Наследоваться следует не от list, а от UserList
ок, забыл я про него…

Посмотрел как сделан UserList… Вообщем нет там “единой точки модификации”. Ну не страшно, щас сделаю….
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB