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]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
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