首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在派生类中使属性只读

在派生类中使属性只读,可以通过在派生类中使用@property装饰器定义只读属性。这样,在派生类中,该属性只能被读取,而不能被修改。

例如,假设我们有一个基类Base,其中有一个属性name,我们希望在派生类Derived中将其变为只读属性:

代码语言:python
代码运行次数:0
复制
class Base:
    def __init__(self, name):
        self._name = name

    @property
    def name(self):
        return self._name

class Derived(Base):
    @property
    def name(self):
        return super().name

在这个例子中,我们在Derived类中使用@property装饰器定义了一个只读属性name,该属性的值由基类Base中的name属性获取。这样,在Derived类中,我们无法修改name属性的值。

如果我们尝试在Derived类中修改name属性,如下所示:

代码语言:python
代码运行次数:0
复制
d = Derived('hello')
d.name = 'world'

将会抛出AttributeError异常,因为name属性已经被定义为只读属性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券