如何覆盖超类属性?
在下面的示例中,我想为name
使用其他一些值。
class A:
def __init__(self,name):
self.name=name
class B(A):
def __init__(self, config, address, phone):
super(B, self).__init__(name)
self.address=address
self.phone=phone
self.config=config
self.name=self.config.name + "__value_only"
答案 0 :(得分:1)
只需将所需的“其他”值传递给super(...).__init__()
即可。此外,示例中的name
不是类,而是实例属性:
class B(A):
def __init__(self, config, address, phone):
super(B, self).__init__(config.name + "__value_only")
self.address=address
self.phone=phone
self.config=config