Python 获取一个实例';从相关实例中删除属性

Python 获取一个实例';从相关实例中删除属性,python,class,oop,reference,Python,Class,Oop,Reference,为什么我不能访问对象的属性,如下面的示例所示?(引发错误) 出现错误:AttributeError:'X'对象没有属性“变量” 当初始化X时创建的Y实例不应该访问variable吗?将self.variable=5移动到self.Y=Y(self)之前。初始化Y时,尚未在父级中设置变量。由于它不是类属性(仅为实例定义),因此在此之前它不存在。您在添加/初始化变量之前正在实例化。除非按照前面提到的另一个答案再次实例化或交换,否则它不会知道变量。从上到下依次运行\uuuu init\uuuu代码。在

为什么我不能访问对象的属性,如下面的示例所示?(引发错误)

出现错误:
AttributeError:'X'对象没有属性“变量”


当初始化
X
时创建的
Y
实例不应该访问
variable
吗?

将self.variable=5移动到self.Y=Y(self)之前。初始化Y时,尚未在父级中设置变量。由于它不是类属性(仅为实例定义),因此在此之前它不存在。

您在添加/初始化
变量之前正在实例化。除非按照前面提到的另一个答案再次实例化或交换,否则它不会知道变量。

从上到下依次运行
\uuuu init\uuuu
代码。在创建
Y
对象之前,您不会设置
变量。@BrenBarn:答案应该是
answers
,而不是
comment
s。
class X(object):
def __init__(self):
    self.y = Y(self)
    self.variable = 5

class Y(object):
    def __init__(self,parent):
        self.parent = parent
        print self.parent.variable

my_instance = X()