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()