appeler méthode de classe-mère [résolu]

appeler méthode de classe-mère [résolu] - Python - Programmation

Marsh Posté le 30-09-2005 à 14:45:51    

Bonjour à tous !
 
Soit une classe C dérivée de list :

Code :
  1. class C(list):
  2. ____def append(self, o):
  3. ________self.append(o)


La fonction C.append() boucle sur elle-même car self.append(o) n'appelle pas list.append mais C.append.
Pourtant j'aurais aimé garder 'append' comme nom de fonction, et ne pas le remplacer par 'add' par exemple;
 
Comment faire puisque Python n'accepte pas des écritures comme self::liste.append ?
 
 
edit : typos


Message édité par suizokukan le 30-09-2005 à 22:57:53
Reply

Marsh Posté le 30-09-2005 à 14:45:51   

Reply

Marsh Posté le 30-09-2005 à 15:31:21    

>>> class MyList(list):
...     def append(self, o):
...             list.append(self, o)
...
>>> l = MyList()
>>> l.append(1)
>>> l
[1]


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
Reply

Marsh Posté le 30-09-2005 à 16:48:02    

bof
 
pydoc super

Reply

Marsh Posté le 30-09-2005 à 16:56:03    

> Masklinn : très intéressant, merci beaucoup.
 
> Taz, qu'est-ce qui est bof ? Quant à la pydoc je n'y ai encore rien trouvé d'intéressant - mais il est vrai que j'ai tout juste commencé à la lire je raconte n'importe quoi, tout y est:  http://python.org/doc/2.4.1/ref/types.html
 
Par contre Taz, je ne comprends toujours pas ton bof'...
 
 
edit : typos + raturage


Message édité par suizokukan le 30-09-2005 à 17:00:43

---------------
rule #1 : trust the python
Reply

Sujets relatifs:

Leave a Replay

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