Python 使用父类中的方法定义属性

Python 使用父类中的方法定义属性,python,inheritance,properties,Python,Inheritance,Properties,我有一个类,它定义了两个set和get方法: class MyClass(object): def __init__(self): pass def set_name(self, value): self._name = value def get_name(self): return self._name 我希望这个类使用属性,但我不想修改它的代码(或添加任何内容)。所以我试着像这样继承: class Child(

我有一个类,它定义了两个
set
get
方法:

class MyClass(object):

    def __init__(self):
        pass

    def set_name(self, value):
        self._name = value

    def get_name(self):
        return self._name
我希望这个类使用属性,但我不想修改它的代码(或添加任何内容)。所以我试着像这样继承:

class Child(MyClass):

    name = property(get_name, set_name)
当我尝试导入
子项时,我得到一个名称错误:“get_name”未定义

我猜想这是因为属性声明必须在
get
set
方法之后


Child

中是否仍有执行此操作的方法您可以引用父类上的方法:

class Child(MyClass):
    name = property(MyClass.get_name, MyClass.set_name)
在类定义“body”中,getter和setter函数仍然是本地名称,因此可以将它们作为本地名称来处理。但是在子类中,它们不再是本地的,所以您需要从类中检索它们