Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何重写子类中的实例变量_Python_Oop_Inheritance - Fatal编程技术网

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
来处理此问题,但我正在尝试找到一个更优雅的解决方案,可能是使用属性或装饰器,但我不确定如何做到这一点