我有2个课程,这就是我想要做的。
class Parent:
def something(self):
return "some text"
class Child(Parent):
this = returned text of parent.something()
def __init__(self):
pass
希望这是一个简单的问题。
答案 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