class Test1:
def __init__(self):
self.x = 1
class Test2(Test1):
# how can I get parent class's self.x ??
# exactly here not def __init__(self) or other methods in Test2..
请......我花了好几个小时搞清楚如何让父母自我上课!并失败.. 我需要一个python专家!
答案 0 :(得分:2)
这是不可能的。 self.x
是一个实例变量。实例变量只能在实例方法中访问。在外部方法中,您处于静态环境中。
你可以这样做(纯类变量(不是实例)):
class Test1:
x = 1
class Test2:
y = Test1.x
答案 1 :(得分:2)
在类定义时没有对象,所以没有self
- self
只在成员函数中有意义。你还想在课程定义中用self.x
做什么?
答案 2 :(得分:2)
你想要这样的东西吗?
class Test1:
def __init__(self):
self.x = 1
class Test2(Test1):
def __init__(self):
Test1.__init__(self)
print self.x
a = Test2()
您可以在Test2中访问self.x,因为Test2对象具有x属性。它在Test1初始化程序中创建。
编辑:在作者解释我的误解之后,不可能做出要求的事情,因为x是实例成员,而不是第一类。请参阅gecco的回答。