Python:';超级';对象没有属性';属性名称';

Python:';超级';对象没有属性';属性名称';,python,attributes,super,Python,Attributes,Super,我试图从基类访问一个变量。下面是父类: 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_

我试图从基类访问一个变量。下面是父类:

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'
回溯(最近一次呼叫最后一次):
文件“test.py”,第13行,在
目标剂量法()
文件“test.py”,第10行,在doSomething中
父变量=超级(子变量,自变量)
AttributeError:“super”对象没有属性“some\u var”

我做错了什么?在Python中,从基类访问变量的推荐方法是什么?

基类运行
\uuuu init\uuuu
后,派生对象在那里设置了属性(例如
some\u var
),因为它与派生类中的
self
是同一个对象。你可以而且应该在任何地方使用self.some\u var
super
用于访问基类中的内容,但实例变量(顾名思义)是实例的一部分,而不是该实例类的一部分。

父类中不存在属性some\u var

当您在
\uuuu init\uuuu
期间设置它时,它是在子类的实例中创建的