• # Re: message d'erreur totalement cryptique

    Posté par . En réponse au message de la puissance de (beep) pour trouver un truc simple en 2 minutes. Évalué à 2.

    Je réponds ici à l'une des critiques de python par gc (voir plus haut), que j'espère toujours convaincre de laisser tomber ses one-liners à 2 balles en perl pour passer à python ;) message d'erreur totalement cryptique Si tu écris cela :
    class Foo:
     def __init__(self):
     print "Foo"
     
    class Bar(Foo):
     def __init__(self):
     super(Bar, self).__init__()
     print "Bar"
     
    b = Bar()
    
    Tu te prends comme message d'erreur : File "foo.py", line 7, in __init__ super(Bar, self).__init__() TypeError: super() argument 1 must be type, not classobj
    Read The Fine Manual La syntaxe par défaut pour appeler le constructeur de la classe parente est la suivante:
    class Foo:
     def __init__(self):
     print "Foo"
     
    class Bar(Foo):
     def __init__(self):
     Foo.__init__(self)
     print "Bar"
    
    Ce qui invalide ta critique n°2.