Python: 'super' objet n'a pas d'attribut "attribute_name'

Je suis en train d'essayer d'accéder à une variable de la classe de base. Voici la classe parent:

class Parent(object):
    def __init__(self, value):
        self.some_var = value

Et voici l'enfant de la classe:

class Child(Parent):
    def __init__(self, value):
        super(Child, self).__init__(value)

    def doSomething(self):
        parent_var = super(Child, self).some_var

Maintenant, si j'essaie d'exécuter ce code:

obj = Child(123)
obj.doSomething()

- Je obtenir de l'exception suivante:

Traceback (most recent call last):
  File "test.py", line 13, in <module>
    obj.doSomething()
  File "test.py", line 10, in doSomething
    parent_var = super(Child, self).some_var
AttributeError: 'super' object has no attribute 'some_var'

Ce que je fais mal? Quelle est la méthode recommandée pour accéder aux variables de la classe de base en Python?

OriginalL'auteur invarbrass | 2011-05-20