我怎样才能让父母自我上课?

时间:2011-11-30 12:24:43

标签: python

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专家!

3 个答案:

答案 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的回答。