位置: IT常识 - 正文

Python学习:property装饰器(pythonproperty)

编辑:rootadmin
1.property 装饰器:装饰器是在不修改被装饰对象源代码以及调用方式的前提下为被装饰对象添加新功能的可调用对象 property是一个装饰器,是用来绑定给对象的方法伪造成一个数据属性 装饰器property,可以将类中的函数“伪装成”对象的数据属性,对象在访问该特殊属性时会触发功能的执行,然后 ... 1.property

推荐整理分享Python学习:property装饰器(pythonproperty),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python prob,python@property,python学习路线,python学习路线,prophet python,prophet python,python prog,python学习手册 第5版 pdf,内容如对您有帮助,希望把文章链接给更多的朋友!

装饰器:装饰器是在不修改被装饰对象源代码以及调用方式的前提下为被装饰对象添加新功能的可调用对象

property是一个装饰器,是用来绑定给对象的方法伪造成一个数据属性

Python学习:property装饰器(pythonproperty)

装饰器property,可以将类中的函数“伪装成”对象的数据属性,对象在访问该特殊属性时会触发功能的执行,然后将返回值作为本次访问的结果。

使用property有效地保证了属性访问的一致性。另外property还提供设置和删除属性的功能

应用场景:有的功能属性听起来更像数据属性,python则提供了一种装饰器,可以将功能属性伪装成数据属性

2.案例:"""成人的BMI数值:过轻:低于18.5正常:18.5-23.9过重:24-27肥胖:28-32非常肥胖, 高于32  体质指数(BMI)=体重(kg)÷身高^2(m)  EX:70kg÷(1.75×1.75)=22.86"""  

案例一:

class People: def __init__(self, name, weight, height): self.name = name self.weight = weight self.height = height# 定义函数的原因1:# 1、从bmi的公式上看,bmi应该是触发功能计算得到的# 2、bmi是随着身高、体重的变化而动态变化的,不是一个固定的值# 说白了,每次都是需要临时计算得到的# 但是bmi听起来更像是一个数据属性,而非功能 @property def bmi(self):return self.weight / (self.height ** 2) obj1 = People('egon', 70, 1.83) print(obj1.bmi()) obj1.height=1.86 print(obj1.bmi()) print(obj1.bmi)

案例二:

'''学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!''' class People: def __init__(self, name): self.__name = name def get_name(self): return self.__name def set_name(self, val): if type(val) is not str: print('必须传入str类型') return self.__name = val def del_name(self): print('不让删除') # del self.__name name=property(get_name,set_name,del_name) obj1=People('egon') # print(obj1.get_name()) # obj1.set_name('EGON') # print(obj1.get_name()) # obj1.del_name() # 人正常的思维逻辑 print(obj1.name) # # obj1.name=18 # del obj1.name

案例三:

class People: def __init__(self, name): self.__name = name @property def name(self): # obj1.name return self.__name @name.setter def name(self, val): # obj1.name='EGON' if type(val) is not str: print('必须传入str类型') return self.__name = val @name.deleter def name(self): # del obj1.name print('不让删除') # del self.__nameobj1=People('egon')# 人正常的思维逻辑print(obj1.name) ## obj1.name=18# del obj1.name
本文链接地址:https://www.jiuchutong.com/zhishi/313038.html 转载请保留说明!

上一篇:全面理解JSX(全面理解健康教案)

下一篇:Protobuf生成文件报错(protobuf 文档)

  • iphone7plus锁屏不推送微信怎么办(iphone7 锁屏)

    iphone7plus锁屏不推送微信怎么办(iphone7 锁屏)

  • 腾讯视频手机号怎么登录(腾讯视频手机号登录在哪里)

    腾讯视频手机号怎么登录(腾讯视频手机号登录在哪里)

  • ipad自动旋转失灵(ipad怎么自动旋转)

    ipad自动旋转失灵(ipad怎么自动旋转)

  • 魅族16spro下巴多少毫米(魅族16spro下巴多宽)

    魅族16spro下巴多少毫米(魅族16spro下巴多宽)

  • 华为一年保修包括什么(华为一年保修收费吗)

    华为一年保修包括什么(华为一年保修收费吗)

  • 淘宝店铺入驻抖音条件(淘宝店铺入驻抖音小店流程)

    淘宝店铺入驻抖音条件(淘宝店铺入驻抖音小店流程)

  • qq空间被挡访客怎么设置(qq空间被挡访客怎么免费查看)

    qq空间被挡访客怎么设置(qq空间被挡访客怎么免费查看)

  • 为什么苹果账户老是被锁定(为什么苹果账户头像显示不出来)

    为什么苹果账户老是被锁定(为什么苹果账户头像显示不出来)

  • 三星pay怎么关闭上滑呼出(上滑三星pay怎么关闭)

    三星pay怎么关闭上滑呼出(上滑三星pay怎么关闭)

  • airpods滴滴两声什么意思(airpods嘀嘀两声)

    airpods滴滴两声什么意思(airpods嘀嘀两声)

  • 小米的永恒模式是什么意思(小米的永恒模式是什么)

    小米的永恒模式是什么意思(小米的永恒模式是什么)

  • 如何开通华为pay(如何开通华为小艺)

    如何开通华为pay(如何开通华为小艺)

  • 手机qq悄悄话怎么没了(手机qq悄悄话在哪里打开)

    手机qq悄悄话怎么没了(手机qq悄悄话在哪里打开)

  • airpods怎么验证正品(airpods怎么验证激活日期)

    airpods怎么验证正品(airpods怎么验证激活日期)

  • word2007如何生成目录(word文档制作生成)

    word2007如何生成目录(word文档制作生成)

  • vue怎么添加本地音乐(vue页面中嵌入本地html页面)

    vue怎么添加本地音乐(vue页面中嵌入本地html页面)

  • 快手头条审核需要多久(头条审核太严格)

    快手头条审核需要多久(头条审核太严格)

  • 金山文档小程序如何打印(金山文档小程序怎么导出excel文件)

    金山文档小程序如何打印(金山文档小程序怎么导出excel文件)

  • vivoy66相册回收站在哪(vivo手机的相册回收站)

    vivoy66相册回收站在哪(vivo手机的相册回收站)

  • 小米mde1什么型号(小米md1是什么型号)

    小米mde1什么型号(小米md1是什么型号)

  • 电脑怎样定位苹果手机位置(电脑怎样定位苹果位置)

    电脑怎样定位苹果手机位置(电脑怎样定位苹果位置)

  • 闲鱼账号密码忘记怎么找回(闲鱼账号密码忘记了怎么找回图片解释)

    闲鱼账号密码忘记怎么找回(闲鱼账号密码忘记了怎么找回图片解释)

  • 360浏览器如何下载视频(360浏览器如何下载图片)

    360浏览器如何下载视频(360浏览器如何下载图片)

  • s.exe - s是什么进程 有什么用(lsass.exe是什么进程)

    s.exe - s是什么进程 有什么用(lsass.exe是什么进程)

  • 视觉机械臂自主抓取全流程(视觉机械臂操作视频)

    视觉机械臂自主抓取全流程(视觉机械臂操作视频)

  • DeepSort目标跟踪算法(deepsort 跟踪)

    DeepSort目标跟踪算法(deepsort 跟踪)

  • 支付宝沙箱服务 (结合springboot实现,这里对接的是easy版本,工具用的是IDEA,WebStrom)(沙箱支付宝app正式版)

    支付宝沙箱服务 (结合springboot实现,这里对接的是easy版本,工具用的是IDEA,WebStrom)(沙箱支付宝app正式版)

  • 企业所得税会计科目
  • 小微企业要做企业年金吗
  • 即征即退收入要交税吗
  • 成品油红字发票开错了
  • 什么是非关联方交易
  • 公对公转账需要交税吗?
  • 房地产企业土地使用权入什么科目
  • 法人分配利润分录
  • 制造费用的借方和贷方各表示什么
  • 二手车交易怎么办理过户手续
  • 废品损失一般不由本月生产的产品成本负担
  • 企业出口收汇核销怎么处理?
  • 劳动仲裁是怎样仲裁公司的
  • 对外支付佣金代扣代缴
  • 怎么查询公司有没有开社保户
  • 股东垫支开办费
  • 物业公司的跨期收费如何确认收入?
  • 新企业购买金税盘
  • 外出经营地预交税金归主管税务所管吗
  • 费用开两次发票怎么入账?
  • 公司实缴资本有什么风险
  • php写html
  • 如何把电脑上锁屏密码
  • retrorun.exe - retrorun有什么用 是什么进程
  • 软件入无形资产金额
  • 什么票据行为是合法的
  • 原材料和固定资产入账价值的计算
  • 商业会计做账
  • 企业发给员工的工资要交税吗
  • 长期应收款属于流动资产吗
  • php常见的错误级别
  • php自定义字段
  • 日用品可以开专票吗
  • vue组件元素设置滚动条高度
  • 区块链技术开发入门
  • 预付卡销售可以报销吗
  • 命令行查看硬件信息
  • js基本数据类型和复杂数据类型的区别
  • 日用品属于哪个类型
  • 财务报表不申报可以领票吗
  • 企业筹建期间
  • mysql存二进制用哪个字段
  • 织梦标签理解
  • 个人所得税两处或两处以上工资、薪金所得纳税申报表
  • 完税证明能作为抵扣凭证吗
  • sql查询语句大全实例教程
  • 医保指的是啥
  • 通货膨胀有什么表现
  • 收到现金长时间不付款
  • 调整以前年度多计提的增值税
  • 每个月计提工资没有发怎么办
  • 免费样品要交税么
  • 百旺金赋开票系统图标
  • 税控盘和金税盘可以安装在一个电脑
  • 其他综合收益属于什么科目借贷方向
  • 公用事业费属于什么会计科目
  • 关税用什么会计科目
  • mysql5.7.24安装配置教程
  • win7使用率
  • debian和ubuntu命令一样吗
  • win 10 ie8
  • emule.td文件怎么打开
  • win10双击打开文件设置方法
  • 忘记mysql root密码的解决方法
  • linux高级选项
  • win7怎么给硬盘重新分区
  • Windows Server 8 ADDS轻松几步搞定密码个性化设置
  • sendmail邮件服务器的配置
  • cocos2dx4.0教程
  • cocos内存管理
  • opengl learning中文
  • linux c程序开发
  • python嵌套语句
  • jQuery插件ajaxfileupload.js实现上传文件
  • jquery 画图
  • js的iframe
  • 劳务合同和劳务协议的区别和联系
  • 房契税发票丢了能补办吗
  • ssr服务器地址端口密码
  • 今年烟草税多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设