[resolu] comment surcharger del ?

comment surcharger del ? [resolu] - Python - Programmation

Marsh Posté le 06-01-2006 à 16:28:32    

bonjour,
je fais une liste observable et pour cela j'ai besoin de surcharger l'opérateur del, afin que la liste fasse une notification quand un élément est retiré de la sorte. comment puis-je faire cela ?
merci
 
edit : trouvé la solution
d'après mes recheches, il faut surcharger __delitem__(self, key). ce qui donne le code suivant :

Code :
  1. from common.Observable import Observable
  2. class ObservableList(list, Observable):
  3.     def __init__(self):
  4.         list.__init__(self)
  5.         Observable.__init__(self)
  6.        
  7.     def append(self, o):
  8.         list.append(self, o)
  9.         self.notify()
  10.        
  11.     def remove(self, o):
  12.         list.remove(self, o)
  13.         self.notify()
  14.        
  15.     def __delitem__(self, key):
  16.         list.__delitem__(self, key)
  17.         self.notify()


 
tout simplement !
 
note : pour ceux qui trouvent qu'il manque des choses c'est normal, j'ai pas fini de l'implémenter. il manque pop notamment, extend, insert... bref tout ce qui est là : http://www.python.org/doc/current/ [...] table.html
note bis : pour ceux que le sujet intéresse, la doc est là : http://www.python.org/doc/current/ [...] names.html
note bis bis : tous les commentaires sont les bienvenus.


Message édité par psychotek le 06-01-2006 à 16:53:44
Reply

Marsh Posté le 06-01-2006 à 16:28:32   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed