class Person(object):
"""
目的:让外界只可以读取,不能修改
"""
def __init__(self):
# 首先将属性设置为外界既不能读取也不能修改
self.__age = 18
# 然后提供方法让外界读取,只提供读方法,不提供写方法
# @property装饰器的作用是让方法以属性的形式提供给外界调用
@property
def age(self):
return self.__age
p = Person()
print(Person().age)
# 外界尝试修改age,则会报错
p.age = 10
/Users/jun/anaconda3/envs/python36/bin/python /Users/jun/PycharmProjects/pyqt5/面向对象/只读属性.py
18
Traceback (most recent call last):
File "/Users/jun/PycharmProjects/pyqt5/面向对象/只读属性.py", line 19, in <module>
p.age=10
AttributeError: can't set attribute
Process finished with exit code 1
设置只读属性
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 做过 iOS OC 开发的都知道 拥有该属性 name 的类的实例对象都可以使用 .(点) 方法设置和获取name...
- python设置只读属性的方式有两种 1.通过property装饰器和私有属性配合完成只读属性 2.借助__set...
- 设置后的效果:文件会自动带上svn:needs-lock属性,默认是只读的要签出才能修改以防止修改完后提交才发现冲...
- OC中常用到的属性修饰词readOnly,在swift中显然已经不存在了,有人说变成了计算属性,如下: 然而,会出...