Python super() soulève TypeError

Dans Python 2.5, le code suivant soulève 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 "<stdin>", line 3, in a
TypeError: super() argument 1 must be type, not classobj

Si je remplace le class X avec class X(object), il va fonctionner. Quelle est l'explication pour cela?

  • votre "cependant j'ai remplacer la classe X avec la classe X(objet)" résolu mon problème ! merci
InformationsquelleAutor Geo | 2009-01-28