位置: 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 文档)

  • 小米10的前置像素是多少(小米十前置)

    小米10的前置像素是多少(小米十前置)

  • 红米k30没有呼吸灯吗(红米k30没有呼吸灯怎么办)

    红米k30没有呼吸灯吗(红米k30没有呼吸灯怎么办)

  • opporeno4pro的屏幕是什么材质的(opporeno4pro的屏幕多少钱)

    opporeno4pro的屏幕是什么材质的(opporeno4pro的屏幕多少钱)

  • 抖音卡通头像视频怎么拍呢

    抖音卡通头像视频怎么拍呢

  • 小米手机自带尺子在哪(小米手机自带量尺)

    小米手机自带尺子在哪(小米手机自带量尺)

  • 同一个微信号怎么分身(同一个微信号怎么会出现两个头像)

    同一个微信号怎么分身(同一个微信号怎么会出现两个头像)

  • 惠普3636加墨后检测不到墨盒(惠普3636加墨后无法打印东西)

    惠普3636加墨后检测不到墨盒(惠普3636加墨后无法打印东西)

  • 已下单是发货了吗(已下单是发货了吗怎么查)

    已下单是发货了吗(已下单是发货了吗怎么查)

  • 电脑qq头像和手机qq不一样(qq头像电脑版经典图片)

    电脑qq头像和手机qq不一样(qq头像电脑版经典图片)

  • 腾讯视频app下载的步骤(腾讯视频app下载安装)

    腾讯视频app下载的步骤(腾讯视频app下载安装)

  • 手机微信计步器怎么用(手机微信计步器原理)

    手机微信计步器怎么用(手机微信计步器原理)

  • 剪映怎么上传音乐(剪映怎么上传音乐到音乐库)

    剪映怎么上传音乐(剪映怎么上传音乐到音乐库)

  • 如何给文档添加目录(如何给文档添加注释)

    如何给文档添加目录(如何给文档添加注释)

  • iphonex是2k屏幕么(苹果x是2k分辨率吗)

    iphonex是2k屏幕么(苹果x是2k分辨率吗)

  • 快手上传功能禁用怎么办(快手上传功能禁用禁多久)

    快手上传功能禁用怎么办(快手上传功能禁用禁多久)

  • 手机服务器怎么设置(手机服务器怎么连接)

    手机服务器怎么设置(手机服务器怎么连接)

  • 华为mate20的高级设置在哪(华为mate20的高级设置在哪里)

    华为mate20的高级设置在哪(华为mate20的高级设置在哪里)

  • 小爱同学能不能用网易云(小爱同学能不能连接电脑)

    小爱同学能不能用网易云(小爱同学能不能连接电脑)

  • m4a格式用什么播放器(m4a格式用什么软件打开)

    m4a格式用什么播放器(m4a格式用什么软件打开)

  • qq耳朵一样的标志是什么意思(qq耳朵一样的标志是不是被删了)

    qq耳朵一样的标志是什么意思(qq耳朵一样的标志是不是被删了)

  • opporeno什么意思(opporeno是什么意思中文翻译)

    opporeno什么意思(opporeno是什么意思中文翻译)

  • 竞价推广怎么做(抖音竞价推广怎么做)

    竞价推广怎么做(抖音竞价推广怎么做)

  • 常见的电脑病毒以及种类有哪些?(常见的电脑病毒危害)

    常见的电脑病毒以及种类有哪些?(常见的电脑病毒危害)

  • TP-Link无线路由器设置USB网络共享的方法(tp-link无线路由器怎么样)

    TP-Link无线路由器设置USB网络共享的方法(tp-link无线路由器怎么样)

  • 土地增值税怎么计算
  • 个税返还手续费奖励员工需要交个税吗
  • 吊车租赁有限公司
  • 政府补贴是否要交企业所得税
  • 营业收入比销售商品收到的现金少
  • 佣金开什么发票
  • 自产产品用于业务宣传确认收入吗
  • 合同能源管理项目账务处理
  • 如何计算应交税
  • 补记上年度计提所得税费用的会计分录
  • 借款合同的印花税税率
  • 收到违约金需要缴纳所得税吗
  • 分票报关合票出提单怎么清关
  • 附加税的计提基数怎么算
  • 河道工程维护管理费征收
  • 规范合同签订的重要性
  • 股权转让能否低于股价
  • 营改增后征收增值税的税目
  • 为什么红字信息查不到
  • 实收资本减值会计处理
  • 怎样找此电脑
  • 如何使用ChapGPT
  • 收到服务费发票可以计入什么科目
  • infotainment.exe
  • win10电源和睡眠设置不起作用
  • PHP:class_implements()的用法_spl函数
  • 路由器重启以后wifi不见了
  • 外购商品转为自用洧费税计算
  • 从银行提取现金分录
  • 实际缴纳消费税计算公式
  • 可供出售交易资产
  • nvidia-smi failed to initialize
  • Code For Better 谷歌开发者之声——初识Web与谷歌,拉起兴趣之心。
  • 结转成本费用的会计分录是什么?
  • 贷款为什么要把车过户给别人
  • 增值税普通发票几个点
  • 上个月没有开票需要清卡吗
  • python有什么用
  • 零申报企业所得税的资产总额怎么填写
  • 企业现金规模的影响因素
  • 营业成本怎么理解
  • 企业股权转让收入企业所得税
  • 公司账户资金转个人账户
  • 商业承兑汇票怎么接收
  • 查账征收个体户经营所得税怎么计算
  • 业务招待费税前列支
  • 补提折旧以前年度损益调整
  • 在建工程转固定资产是什么意思?
  • 管理费用是负数怎么处理
  • 股东投资设备入帐与购买设备入帐的区别
  • 合伙人工资薪金
  • 明细账建账的步骤
  • mysql中的查询
  • sql server的介绍
  • mysql多字段数据
  • ie11 ua
  • centos如何添加用户
  • 事件查看器中"TermService" 服务的性能库问题处理
  • linux修改ulimit立即生效
  • windows 11安全模式
  • centos怎么设置
  • centos7 wol
  • linux命令行在哪
  • 显示win7
  • perl中\s+
  • 安卓字库ic
  • shell 替换文件中匹配的内容
  • css选择器教程
  • 以下关于js函数说法错误的是
  • html焦点图
  • node.js做服务器
  • python怎么理解
  • 基于javascript的毕业设计
  • javascript脚本大全
  • javascript入门基础
  • jquery解决跨域问题
  • 别人给公司开的普票,怎么查询
  • 深圳小微企业税收优惠政策2023
  • 合规管理的基本要求
  • 北京地税查询官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设