位置: 编程技术 - 正文

Python中的descriptor描述器简明使用指南(python中的description)

编辑:rootadmin

推荐整理分享Python中的descriptor描述器简明使用指南(python中的description),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:Python中的换行符,Python中的字典用法,python中的descrip函数,Python中的换行符,python中的describe,python中的describe,python中的descrip函数,python中的descrip函数,内容如对您有帮助,希望把文章链接给更多的朋友!

当定义迭代器的时候,描述是实现迭代协议的对象,即实现__iter__方法的对象。同理,所谓描述器,即实现了描述符协议,即__get__, __set__, 和 __delete__方法的对象。

单看定义,还是比较抽象的。talk is cheap。看代码吧:

定义了一个类WebFramework,它实现了描述符协议__get__和__set__,该对象(类也是对象,一切都是对象)即成为了一个描述器。同时实现__get__和__set__的称之为资料描述器(data descriptor)。仅仅实现__get__的则为非描述器。两者的差别是相对于实例的字典的优先级。

Python中的descriptor描述器简明使用指南(python中的description)

如果实例字典中有与描述器同名的属性,如果描述器是资料描述器,优先使用资料描述器,如果是非资料描述器,优先使用字典中的属性。

描述器的调用对于这类魔法,其调用方法往往不是直接使用的。例如装饰器需要用 @ 符号调用。迭代器通常在迭代过程,或者使用 next 方法调用。描述器则比较简单,对象属性的时候会调用。

描述器的应用描述器的作用主要在方法和属性的定义上。既然我们可以重新描述类的属性,那么这个魔法就可以改变类的一些行为。最简单的应用则是可以配合装饰器,写一个类属性的缓存。Flask的作者写了一个werkzeug网络工具库,里面就使用描述器的特性,实现了一个缓存器。

运行结果可见,first calculate只在第一次调用时候被计算之后就把结果缓存起来了。这样的好处是在网络编程中,对HTTP协议的解析,通常会把HTTP的header解析成python的一个字典,而在视图函数的时候,可能不知一次的访问这个header,因此把这个header使用描述器缓存起来,可以减少多余的解析。

描述器在python的应用十分广泛,通常是配合装饰器一起使用。强大的魔法来自强大的责任。描述器还可以用来实现ORM中对sql语句的"预编译"。恰当的使用描述器,可以让自己的Python代码更优雅。

Python中利用Scipy包的SIFT方法进行图片识别的实例教程 scipyscipy包包含致力于科学计算中常见问题的各个工具箱。它的不同子模块相应于不同的应用。像插值,积分,优化,图像处理,,特殊函数等等。scipy

详解字典树Trie结构及其Python代码实现 字典树(Trie)可以保存一些字符串-值的对应关系。基本上,它跟Java的HashMap功能相同,都是key-value映射,只不过Trie的key只能是字符串。Trie的强大之处

详解duck typing鸭子类型程序设计与Python的实现示例 在程序设计中,鸭子类型(英语:ducktyping)是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,

标签: python中的description

本文链接地址:https://www.jiuchutong.com/biancheng/386948.html 转载请保留说明!

上一篇:Python黑魔法Descriptor描述符的实例解析(python中的魔法函数)

下一篇:Python中利用Scipy包的SIFT方法进行图片识别的实例教程(python中scipy用法)

  • 混合销售行为如何缴纳增值税税率
  • 临时用工的会计分录
  • 子公司注销母公司投资损失企业所得税
  • 保险公司报销修手机
  • 企业账号变更
  • 资产减值损失在利润表怎么填列
  • 合同违约金账务处理
  • 个人承包业务是否合法
  • 固定资产原值减少账务处理
  • 工厂临时住宿
  • 某企业月末由仓库转来发料凭证汇总表
  • 营利性医院如何开办对外药房业务
  • 结转待转销项税额
  • 建筑服务中的其他建筑服务
  • 每年空调的维保费用怎么入账?
  • 企业收到现金支票
  • 存货跌价准备会计科目编码
  • 交社保公积金需要劳动合同吗
  • 研发支出是否可以抵税
  • 以前年度的其他应付款不用付怎么处理
  • 启动器
  • 以公允价值计量的投资性房地产
  • 什么是BIOS设置界面
  • ubuntu16.04lts
  • win10下载软件被阻止安装怎么办
  • 差额部分 扣除部分
  • 家庭承包发包方的权利和义务
  • 系统win7旗舰版
  • 微信怎么开小
  • chormedriver安装
  • 医疗知识科普图片
  • 盈余公积提取和结转
  • 机票报销属于什么费
  • 深入理解linux内核
  • 普通动产和特殊动产如何分类
  • 发票勾选平台进入后没有什么内容
  • 参展费会计分录
  • 新开企业如何在电子税务局操作
  • 年度一次性奖励扣税
  • 话费补贴算工资还是福利
  • 小规模开票软件怎么升级
  • 不动产简易征收增值税发票 可以抵扣
  • 无形资产会产生递延所得税吗
  • 税控盘解锁操作流程
  • sql server 2008 备份
  • access的使用教程
  • 报废车怎么处理最划算
  • 开票金额和发票金额
  • 交易性金融资产是什么意思
  • 发票隔月可以重开吗
  • 研发支出是什么性质的科目
  • 职工社会保险费是什么意思
  • 小规模开票的税点是多少
  • 对外投资需要股东会决议吗
  • 销项税额和转出未交增值税余额怎么结转
  • 党委经费是国家政府出吗?
  • 研发费用中可以有委托研发核算吗
  • 不得从销项税额中抵扣的进项税额,不得计提加计抵减额
  • 开给个人的普通增值税
  • 怎样计算存款利息?
  • mysql如何实现主从复制的具体流程
  • windows2000怎么安装
  • linux中git命令
  • 桌面右边
  • linux中find命令基本使用方法
  • mac safari浏览历史
  • unity3d基础操作
  • perl执行shell命令
  • jquery.min.js源代码
  • python 基础 详细
  • python 描述符类
  • mysql数据类型大全
  • 游戏客服怎么跟客户聊天
  • 四川税务服务大厅
  • 一般纳税人简易征收会计分录
  • 2018年小微企业所得税优惠政策
  • 财务负责人变更了之后还有影响吗
  • 法制员职责任务
  • 加计扣除的税收分类编码
  • 广东省国税局局长潘
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设