如何在此代码示例中从“child”访问“myvar”:
class Parent():
def __init__(self):
self.myvar = 1
class Child(Parent):
def __init__(self):
Parent.__init__(self)
# this won't work
Parent.myvar
child = Child()
Parent是一个类 - 蓝色打印而不是它的实例,在OOPS中访问它需要的实例的对象的属性,这里self / child是实例,而Parent / Child是类...
看到下面的答案,可能会澄清你的疑虑。
class Parent():
def __init__(self):
self.myvar = 1
class Child(Parent):
def __init__(self):
Parent.__init__(self)
# here you can access myvar like below.
print self.myvar
child = Child()
print child.myvar
Parent没有名为myvar的属性。只有父实例具有该属性。在Child的方法中,您可以使用self.myvar
访问该属性。
您需要首先使用命令“super”通过所谓的代理对象启动父类。
所以代码将是这样的:
class Parent():
def __init__(self):
self.myvar = 1
class Child(Parent):
def __init__(self):
super.__init__()
child = Child()
print child.myvar