Questions marquées «super»

564
Que fait «super» en Python?

Quelle est la différence entre: class Child(SomeBaseClass): def __init__(self): super(Child, self).__init__() et: class Child(SomeBaseClass): def __init__(self): SomeBaseClass.__init__(self) J'ai vu superbeaucoup utilisé dans les classes avec un seul héritage. Je peux voir pourquoi vous...

159
Pourquoi la super () magie de Python 3.x?

En Python 3.x, super()peut être appelé sans arguments: class A(object): def x(self): print("Hey now") class B(A): def x(self): super().x() >>> B().x() Hey now Afin de faire ce travail, une certaine magie lors de la compilation est effectuée, dont une conséquence est que le code suivant...

109
Python super () lève TypeError

Dans Python 2.5, le code suivant déclenche un TypeError: >>> class X: def a(self): print "a" >>> class Y(X): def a(self): super(Y,self).a() print "b" >>> c = Y() >>> c.a() Traceback (most recent call last): File "<stdin>", line 1, in <module> File...