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

  • 大会员自动续费怎么关

    大会员自动续费怎么关

  • 限制登录会朋友圈看不见吗(限制登录会朋友验证吗)

    限制登录会朋友圈看不见吗(限制登录会朋友验证吗)

  • 支付宝只知道手机号码怎么查询快递(支付宝只知道手机号码可以转钱吗)

    支付宝只知道手机号码怎么查询快递(支付宝只知道手机号码可以转钱吗)

  • 华为mate30pro截屏怎么设置(华为mate30pro截屏录音怎么弄)

    华为mate30pro截屏怎么设置(华为mate30pro截屏录音怎么弄)

  • oppor9s其他占内存过大(oppor9s里面的其他占了很多)

    oppor9s其他占内存过大(oppor9s里面的其他占了很多)

  • 无线传输介质有哪些(无线传输介质有哪些?特点是什么?)

    无线传输介质有哪些(无线传输介质有哪些?特点是什么?)

  • 视频解码什么意思(视频解码什么意思呀)

    视频解码什么意思(视频解码什么意思呀)

  • 惠普450g1哪年上市(惠普450g1笔记本上市时间)

    惠普450g1哪年上市(惠普450g1笔记本上市时间)

  • 苹果自动跳出滑动关机(苹果手机老是滑出)

    苹果自动跳出滑动关机(苹果手机老是滑出)

  • 华为荣耀9x怎么录屏(华为荣耀9x怎么关闭纯净模式)

    华为荣耀9x怎么录屏(华为荣耀9x怎么关闭纯净模式)

  • z390和b360主板区别(z390和b360主板哪个好)

    z390和b360主板区别(z390和b360主板哪个好)

  • 新iphone显示上次充电时间(iphone显示上次号码不可用,呼叫失效)

    新iphone显示上次充电时间(iphone显示上次号码不可用,呼叫失效)

  • 如何提高淘宝安全等级过低无法评论(提高淘宝信誉度的方法)

    如何提高淘宝安全等级过低无法评论(提高淘宝信誉度的方法)

  • 对方关机能定位找到吗(对方关机能定位找到对方吗)

    对方关机能定位找到吗(对方关机能定位找到对方吗)

  • 苹果官方care+是什么意思(apple care+iphone)

    苹果官方care+是什么意思(apple care+iphone)

  • 淘宝限制登录怎么解除(淘宝限制登录怎么把手机号解绑掉)

    淘宝限制登录怎么解除(淘宝限制登录怎么把手机号解绑掉)

  • 红米k30怎样截屏(红米k30截屏怎么操作)

    红米k30怎样截屏(红米k30截屏怎么操作)

  • 微信号能改几次(多个微信登录)

    微信号能改几次(多个微信登录)

  • 苹果11有什么功能(苹果11什么功能好用)

    苹果11有什么功能(苹果11什么功能好用)

  • vivox27三个摄像头功能(vivox27pro三个摄像头分别是干嘛的)

    vivox27三个摄像头功能(vivox27pro三个摄像头分别是干嘛的)

  • vivo手机怎么连拍照片(vivo手机怎么连接wifi)

    vivo手机怎么连拍照片(vivo手机怎么连接wifi)

  • ps给图片加质感颗粒(ps增加图片质感)

    ps给图片加质感颗粒(ps增加图片质感)

  • 苹果电脑如何扩展屏幕(苹果电脑如何扩展内存)

    苹果电脑如何扩展屏幕(苹果电脑如何扩展内存)

  • 火山上我的订单在哪找(火山怎么查看我的订单)

    火山上我的订单在哪找(火山怎么查看我的订单)

  • excel如何换行

    excel如何换行

  • 什么是价内税不是重复了吗
  • 合同资产减值准备怎么计提
  • 企业进项发票不够销项开的多
  • 职工福利费劳保用品
  • 环保罚款计入什么会计科目
  • 股权变更前账务怎么处理
  • 跨年度发现的差错
  • 返利红字发票怎么做账
  • 预售房提前还款需要去解押吗
  • 劳动合同的履行包括什么原则
  • 企业所得税计提分录怎么写
  • 金三地税系统如何安装客户端插件?
  • 简易计税方法适用范围
  • 收到一笔款在在当月已退回怎么做账?
  • 房屋租赁费属于什么服务
  • 多交增值税如何做账
  • 主营业务收入平均增长率计算例题
  • 贷款计入哪个会计科目
  • 快捷方式都变成pdf
  • window10今天更新
  • php接收数据的方法
  • 月末结转营业外支出有余额吗
  • win10 待机时间
  • 克卢恩国家公园在哪里
  • php生成html
  • php语言设计模式之单例模式
  • 扩展组件可以删除吗
  • 公司支付员工工伤医疗费怎么入账
  • 净资产和净利润一样吗
  • 资产减值损失的计算公式
  • 最小计算机系统包括
  • maven视频教程
  • 运动目标检测算法
  • php include require
  • 药品进销差价的计算公式
  • codeigniter 教程
  • sendmailadmin
  • python怎么将整数转化为字符串
  • ps制作折扇效果图
  • 接待客户的住宿费发票是开谁的
  • 无偿赠送怎么做账
  • 公允价值变动损益借贷方向增减
  • 同一控制下企业合并和非同一控制下企业合并的区别
  • 企业特殊工种不备案可以补报备吗
  • 车船使用税必须每年都交吗
  • 计提社保和工资一起怎么做账
  • 金融工具减值准则
  • 临时人员是什么
  • 如何查询一个企业的纳税情况
  • 商品销售折让怎么计算
  • 仓库周转率是什么意思
  • win7哪年停止更新
  • xampp3.2.4安装教程与配置
  • win10应用商店try that again
  • WUSB54GS.exe - WUSB54GS是什么进程
  • xp系统里的打印机怎么设置的和新7
  • centos怎么设置
  • centos启动按e没用
  • xp系统怎样阻止脱机窗口弹出
  • win8如何打开任务管理器
  • linux哪些方法可以查看命令的详细信息
  • 在linux系统中,用来存在系统所需
  • gitlab管理员账号 审批
  • css中文字垂直排列
  • android基础入门教程
  • 已经序列化的表单怎么再添加
  • jquery 图片插件
  • 怎么利用python爬虫爬数据
  • 简介生成
  • jquery常用选择器种类
  • js函数详解
  • 变更税务登记后多长时间生效
  • 省委巡视组收到的案件线索怎么分配
  • 房产税的计税依据与税率分别是什么
  • 申报期包括不包括最后一天
  • 国税局发票打印软件下载
  • 代理记账费用可以全额抵扣吗
  • 广东省上交国家财政
  • 国税发票什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设