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 : Sélectionner tout - Visualiser dans une fenêtre à part
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'Bref, je comprends pas bien comment ça marche
![]()
Partager