Python 如何重写子类中的实例变量
我的代码有一个类,它有一个简单的实例变量Python 如何重写子类中的实例变量,python,oop,inheritance,Python,Oop,Inheritance,我的代码有一个类,它有一个简单的实例变量self.foo,该变量保存一个列表对象 class MyClass: def __init__(self): self.foo = [] # Some methods 还有一个类继承自MyClass,并重写了它的一些方法。它的foo变量不同,因为它是一个列表列表 class MySubClass(MyClass): def __init__(self, name): MyClass.__init
self.foo
,该变量保存一个列表对象
class MyClass:
def __init__(self):
self.foo = []
# Some methods
还有一个类继承自MyClass
,并重写了它的一些方法。它的foo
变量不同,因为它是一个列表列表
class MySubClass(MyClass):
def __init__(self, name):
MyClass.__init__(self)
# Some more methods
有没有一种简单的方法可以让MySubClass.foo
重写变量并返回self.foo[0]
而不是self.foo
,而无需重命名变量(即对两个类都使用self.foo
?我目前正在一些MyClass方法中使用isinstance
来处理此问题,但我正在尝试找到一个更优雅的解决方案,可能是使用属性或装饰器,但我不确定如何做到这一点