1 Star 0 Fork 3

tonyklose1984 / LearningPython

forked from celaraze / learning-python 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
25.使用@property.py 774 Bytes
一键复制 编辑 原始数据 按行查看 历史
Famio 提交于 2020-01-01 16:37 . 增加使用@property 
# 一般读写类的属性值都是要通过get,set来处理,但是过于复杂
# 这就可以使用@property修饰器来处理
class Student(object):
def __init__(self, name, age):
self._name = name
self._age = age
# 读写的方法变成一个属性
@property
def name(self):
return self._name
# 再写一个方法用于设置值
@name.setter
def name(self, name):
self._name = name
# 如果只有属性而没有定义写入的方法,那么这个属性值是只读
@property
def age(self):
return self._age
s = Student('Tom', 18)
print(s.name)
print(s.age)
s.name = 'Thomas'
# 下面这个设置属性的过程会报错,因为这里是只读的
# s.age = 17
print(s.name)
print(s.age)
Python
1
https://gitee.com/tonyklose1984/LearningPython.git
git@gitee.com:tonyklose1984/LearningPython.git
tonyklose1984
LearningPython
LearningPython
master

搜索帮助