我面临着无法继承超类属性值的问题。我已经调用了超类构造函数,现在尝试检查继承的值。在
class base:
def __init__(self, x):
self.x = x
print(self.x)
class derive(base):
def __init__(self):
print(self.x + 1)
print("base class: ")
b = base(1) <-- Creating superclass instance
print("derive class: ")
d = derived() <-- Inheriting. Failure.
为什么我不能这么做?为了得到x属性,是否应该将底层对象显式地传递给继承对象?在
b
和d
没有关联;b
完全是基类的一个独立的实例。在如果要调用重写的初始值设定项(} proxy object 来访问它:
__init__
),请使用^{请注意,您仍然需要将参数传递给父类的初始值设定项。在上面的例子中,我为父初始值设定项的
x
参数传入一个常量值1。在注意,我在这里使用了python3的特定语法;
super()
不带参数在python2中不起作用,在python2中,您还需要使用object
作为base
类的父类,使其成为一个新样式的类。在相关问题 更多 >
编程相关推荐