没有合适的资源?快使用搜索试试~ 我知道了~
Python装饰器——@property
1 下载量 92 浏览量
2020-12-22
03:06:05
上传
评论
收藏 35KB PDF 举报
温馨提示
试读
1页
文章目录引言@property设置可读写属性设置只读属性 引言 首先我们定义一个Person类,这里多说一点在Python3.x中Person()与Person(object)是一样的,默认帮你加载了Object类 class Person(): def get_height(self): return self._height def set_height(self, value): self._height = value if __name__ == '__main__': hhh = Person() hhh.set_he
资源详情
资源评论
资源推荐
Python装饰器装饰器——@property
文章目录文章目录引言@property设置可读写属性设置只读属性
引言引言
首先我们定义一个Person类,这里多说一点在Python3.x中Person()与Person(object)是一样的,默认帮你加载了Object类
class Person():
def get_height(self):
return self._height
def set_height(self, value):
self._height = value
if __name__ == '__main__':
hhh = Person()
hhh.set_height(10)
print(hhh.get_height())
通常我们会像这样去设置和调用类中的某个属性,但是,上面的调用方法又略显复杂,这时候就是推荐@property的时候了,
它既能检查参数,又可以用类似属性这样简单的方式来访问类的变量
@property
Python内置的@property装饰器作用就是把一个方法变成属性调用,如果我们想把一个getter(实在不知道怎么解释就用Java里
的这个东西来说吧)方法变成属性,这时候只需要在def 定义函数之前加上一个@property
设置可读写属性设置可读写属性
我们以引言部分的Person()类为例,这时,@property本身又为其创建了另一个装饰器@height.setter,负责把一个setter方法变成属
性赋值;
下面附上参考代码:
class Person():
@property
def height(self):
return self._height
@height.setter
def height(self, value):
self._height = value
if __name__ == '__main__':
hhh = Person()
hhh.height = 10
print(hhh.height)
在这个时候我们就能像调用属性一样去对height进行操作,这无疑是简单了许多
设置只读属性设置只读属性
weixin_38567813
- 粉丝: 4
- 资源: 913
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0