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

  • div+css网页设计了解自己企业网站建设的需求(分刚需和二需)

    div+css网页设计了解自己企业网站建设的需求(分刚需和二需)

  • 苹果关机怎么查找定位手机(苹果关机怎么查定位)

    苹果关机怎么查找定位手机(苹果关机怎么查定位)

  • 华为手机摄像头玻璃碎了怎么办(华为手机摄像头玻璃碎了换要多少钱)

    华为手机摄像头玻璃碎了怎么办(华为手机摄像头玻璃碎了换要多少钱)

  • vivo手机可以测体温吗(vivo手机可以测血氧吗?)

    vivo手机可以测体温吗(vivo手机可以测血氧吗?)

  • 手机背膜有什么用(手机背膜什么牌子好)

    手机背膜有什么用(手机背膜什么牌子好)

  • 华为nova7se解锁方式(华为nova7se解锁后屏幕弹文字)

    华为nova7se解锁方式(华为nova7se解锁后屏幕弹文字)

  • 手机ota什么意思(手机的ota)

    手机ota什么意思(手机的ota)

  • 华为荣耀的语音助手怎么唤醒(华为荣耀的语音助手可以改名字吗)

    华为荣耀的语音助手怎么唤醒(华为荣耀的语音助手可以改名字吗)

  • 抖音110405错误代码怎么办(抖音110405错误代码)

    抖音110405错误代码怎么办(抖音110405错误代码)

  • 荣耀8x和8xmax怎么选(荣耀8x和8x max)

    荣耀8x和8xmax怎么选(荣耀8x和8x max)

  • 数据库系统阶段有什么特点(数据库系统阶段,数据具有一定的______和高度的)

    数据库系统阶段有什么特点(数据库系统阶段,数据具有一定的______和高度的)

  • movx指令什么意思(movx是什么指令)

    movx指令什么意思(movx是什么指令)

  • 同时打开两个ppt会怎样(打开两个ppt窗口)

    同时打开两个ppt会怎样(打开两个ppt窗口)

  • 打印机的驱动程序怎么安装(打印机的驱动程序在哪里找)

    打印机的驱动程序怎么安装(打印机的驱动程序在哪里找)

  • 淘宝评价错了怎么删除(淘宝评价错了怎么删除重新评价)

    淘宝评价错了怎么删除(淘宝评价错了怎么删除重新评价)

  • 不是好友能投诉封号吗(不是好友能投诉qq吗)

    不是好友能投诉封号吗(不是好友能投诉qq吗)

  • 多媒体数据压缩技术的三个主要指标(多媒体数据压缩编码方法可分为两大类)

    多媒体数据压缩技术的三个主要指标(多媒体数据压缩编码方法可分为两大类)

  • 华为Nova5Pro屏幕产商(华为nova5pro屏幕刷新率是多少)

    华为Nova5Pro屏幕产商(华为nova5pro屏幕刷新率是多少)

  • 华为lldal20什么型号(华为lndal20是啥型号)

    华为lldal20什么型号(华为lndal20是啥型号)

  • 手机淘宝生日在哪设置(手机淘宝生日在哪里设置)

    手机淘宝生日在哪设置(手机淘宝生日在哪里设置)

  • 小米系统11啥时更新(小米11最新的系统)

    小米系统11啥时更新(小米11最新的系统)

  • 苹果贴纸干嘛用的(苹果手机里的苹果贴纸是干嘛用的)

    苹果贴纸干嘛用的(苹果手机里的苹果贴纸是干嘛用的)

  • qq群视频在哪看(qq群视频怎么看)

    qq群视频在哪看(qq群视频怎么看)

  • 帝国cms为什么安全(帝国cms为什么安装不了)

    帝国cms为什么安全(帝国cms为什么安装不了)

  • 土地增值税要计增值税吗
  • 增值税税率调整文件
  • 一般纳税人开普票和专票有什么区别
  • 民办非企业不注销的法律后果
  • 报销宽带费属于什么科目
  • 信息技术费如何做账
  • 在哪里报个税
  • 公司销售固定资产汽车如何填申报表
  • 清产核资账务处理方法
  • 出让固定资产怎样计算增值税
  • 混搭销售的企业有哪些
  • 其他综合收益转入留存收益还是投资收益
  • 为在建工程发生的管理费用
  • 增值税应交税费科目
  • 去年的定额的发票可以报销吗?
  • 增值税普通发票需要交税吗
  • 补发工资如何申请
  • 因为买房子
  • 资产改变用途的法律规定
  • 加计抵减什么时候做账务处理
  • 小规模纳税人购车好处
  • 消耗性生物资产与生产性生物资产的区别
  • 应付职工薪酬借方负数是什么意思
  • 供应商质量扣款
  • 备用金的会计分类
  • 个人所得税跨年度能退吗
  • 所得税汇算清缴时间期限
  • 房产税具体税种包括哪些
  • smarty模板判断数组为空的方法
  • 拍卖获得收入个税
  • 销售费用中业务费包括哪些
  • 固定资产减少和固定资产折旧
  • Eclipse PHPEclipse 配置的具体步骤
  • .net core 开发web
  • 利润总额为负还交所得税吗
  • openfoam中文教程
  • 金融企业的代理业务
  • 补发工资账务处理
  • SqlServer2014安装选择版本
  • 暂估应付款怎么录入
  • 独资企业和公司区别
  • 新公司开基本户需要带什么材料
  • 利润分配的账务处理视频
  • 已出库的成品退货怎么办
  • 捆绑销售如何做会计处理合适?
  • 公司赞助学校
  • 企业计提什么意思
  • 咨询服务业成本比例
  • 差旅费一般包括往返及当地的交通费
  • 规划设计费入什么科目
  • 申报表应纳税额和财务账金额不一致可以不改申报表吗
  • 固定成本总额包含折旧吗
  • 如何设置存货计价方法有哪些
  • sqlserver存储过程怎么查看
  • windowsserver2008r2忘记开机密码怎么办
  • windows怎样设置
  • 驱动安装过程中发生错误
  • linux mv命令详解
  • 怎样彻底关闭win11安全中心
  • macbook看视频卡顿
  • linux wc命令如何实现
  • ssh实现登录功能
  • 获取windows的最新信息要跳过吗
  • win7文件和打印机共享
  • windows10直接安装
  • perl处理特殊符号
  • android应用程序的主要语言是java
  • express中间件面试题
  • linux中tar命令
  • javascript网页游戏制作教程
  • 安卓wifi打不开解决
  • 细说java
  • python常用的库
  • flash谈广告
  • 又一枚精彩的弹幕效果jQuery实现
  • android开发模式
  • javascript例题
  • 面向对象的三大特征
  • 广西国家税务局于红林
  • 运输费属于什么会计分录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设