当前位置: 首页 > news >正文

12.7 类的property/setter/delter特性

12.7 类的property/setter/delter特性

装饰器加到函数上,不能加到属性上

class People():def __init__(self,height,weight):self.height=heightself.weight=weight@property  #获取值的时候触发,你不需要加括号使用不能加参数def bmi(self): return self.weight/(self.height**2)@bmi.setter #修改bmi的时候触发,必须加参数def bmi(self,value):# raise '不能修改bmi' #抛异常print('不能修改bmi')@bmi.deleter #删除时候触发,不需要加参数def bmi(self):print('不能删除')#调用方法不加()
peo=People(1.8,70)
print(peo.bmi) #bmi是方法但是加了property装饰器,就不需要加括号
#输出:21.604938271604937#修改
peo.bmi=22 #修改时候打印setter
#输出:不能修改bmi#删除
del peo.bmi
#输出:不能删除
http://www.zskr.cn/news/306.html

相关文章:

  • 82python解析器反查当前安装了那些依赖包
  • 4.同事突然关心有没有对象?这可能是职场发展的隐形陷阱
  • 12.6 类的封装
  • 6 个替代 Jira 的开源项目管理工具推荐
  • 惊世骇俗:《易经》六十四卦与数学公理完整映射表
  • 数字孪生技术如何破解产线效率瓶颈? - 智慧园区
  • 12.4 菱形继承问题(了解)
  • 极域电子学生机无法连接教师机
  • Python Flask框架入门_2.API增加授权验证
  • 12.2 类的派生
  • NOIP2025专题-图论2 专题简记
  • 在疼痛中,在喧嚣 失聪与惶惑中
  • 开发手记(二)——图片转换成base64编码
  • Overpass – TryHackMe
  • 浅拷贝和深拷贝两种不同的对象复制
  • NPU前端编译器常见的优化
  • ABC393E
  • ABC393D
  • ZR 25 noip D1T2 题解 | 最短路
  • NOIP2024 退役记
  • LG11311
  • CF1746F
  • C#.NET EFCore.BulkExtensions 扩展详解
  • 2025AI赋能HR新纪元,中国AI HR主流厂商大盘点
  • 私有化部署Dify构建企业AI平台教程
  • 树状数组板子2
  • NOIP 集训日记
  • 记录---让网页像现实世界一样“拿起来,放进去”
  • Ubuntu22.04安装Docker过程记录
  • MySQL多表查询