python核心课程-面向对象-只读属性

这篇博客探讨了Python中的只读属性概念,适用于保护某些仅允许内部修改的属性。文章介绍了通过私有化和公开读取方法来实现只读属性,并提到了使用@property装饰器的优化方案。此外,还讨论了经典类与新式类的区别以及在不同类中使用@property的方法。
摘要由CSDN通过智能技术生成

只读属性

1.概念:一个属性(一般指实例属性),只能读取,不能写入。

2.应用场景:有些属性,只限在内部根据不同场景进行修改,而对外界来说,不能修改,只能读取。

    比如:电脑类的网速属性,网络状态属性

3.方式1:方案:全部隐藏(私有化,既不能读,也不能写。),部分公开(公开读的操作)

              具体实现:私有化(通过“属性前置双下划线”实现。)部分公开:(通过公开的方法)

class Person:
    def __init__(self):
        self.__age = 18
    def getAge(self):
        return self.__age

p1 = Person()
print(p1.getAge())
p1.__age = 99
print(p1.__age)

              优化方案:装饰器@porperty。作用:将一些“属性的操作方法”关联到某一个属性当中。

class Person(object):
    def __init__(self):
        self.__age = 18

    # 主要作用就是,可以以使用属性的方式,来使用这个方法。
    @property
    def age(self):
        return self.__age

p1 = Person()
print(p1.age)
p1.age = 1
print(p1.age)

                                                            概念补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值