Python: объект 'super' не имеет атрибута 'attribute_name'

Я пытаюсь получить доступ к переменной из базового класса. Вот родительский класс:

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

А вот дочерний класс:

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

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

Теперь, если я попытаюсь запустить этот код:

obj = Child(123)
obj.doSomething()

, я получу следующее исключение:

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'

Что я делаю не так? Каков рекомендуемый способ доступа к переменным из базового класса в Python?

15
задан invarbrass 20 May 2011 в 17:48
поделиться