Salut à tous,
J'ai un problème en utilisant la fonction super()
Je veux utiliser la méthode définie dans une super classe de manière à éviter une redondance de code et ajouter du code propre à la sous-classe.
P:\travail\test>python.exe "P:\travail\test\test2.py"Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 # super-classe class blah: def meuh(self, zip): print "meuh" # sous-classe class blahblah(blah): def meuh(self, zip): super(type(blahblah)).meuh(zip) # ... def main12(): b2 = blahblah() b2.meuh(0)
Traceback (most recent call last):
File "P:\travail\test\test2.py", line 238, in ?
main12()
File "P:\travail\test\test2.py", line 11, in main12
b2.meuh(0)
File "P:\travail\test\test2.py", line 7, in meuh
super(type(blahblah)).meuh(zip)
AttributeError: 'super' object has no attribute 'meuh'
En gros, je me retrouve avec un objet de type 'super' et pas la super classe de l'objet 'blahblah' :cry: Bref, je comprends pas bien comment ça marche :?