如何从子类中的父类运行模块?

时间:2014-11-28 11:26:35

标签: python class python-2.7

我有2个课程,这就是我想要做的。

class Parent:
    def something(self):
        return "some text"

class Child(Parent):
    this = returned text of parent.something()
    def __init__(self):
        pass 

希望这是一个简单的问题。

2 个答案:

答案 0 :(得分:0)

改为使用Child.__init__方法设置属性,此时您只需拨打self.something()

class Child(Parent):
    def __init__(self):
        self.this = self.something()

定义parent.something()时无法致电Child,因为实例无法在上调用它。

答案 1 :(得分:0)

您可以使用super()函数。这允许您从继承的类中调用函数:

class Parent(object):
    def __init__(self, name):
        self.name = name

    def something(self):
        return 'something'

class Child(Parent):
    def __init__(self, name):
        super().__init__(name) # calls the __init__ function of Parent
        self.something = super().something() # calls the something function of Parent


c = Child('John')
something = c.something
name = c.name
print(something, name) # output = something John