当前位置: 首页 > news >正文

制作网站公司名称动漫制作专业在广西哪所院校最强

制作网站公司名称,动漫制作专业在广西哪所院校最强,网站设计与建设考试,建材采购网描述符用法建议 下面根据刚刚论述的描述符特征给出一些实用的结论。 使用特性以保持简单 内置的 property 类创建的其实是覆盖型描述符,__set__ 方法和 __get__ 方法都实现了,即便不定义设值方法也是如此。特性的 __set__ 方法默认抛出 AttributeError: …

描述符用法建议

下面根据刚刚论述的描述符特征给出一些实用的结论。
使用特性以保持简单
内置的 property 类创建的其实是覆盖型描述符,__set__ 方法和
__get__ 方法都实现了,即便不定义设值方法也是如此。特性的
__set__ 方法默认抛出 AttributeError: can’t set attribute,
因此创建只读属性最简单的方式是使用特性,这能避免下一条所述的问
题。

只读描述符必须有__set__方法
如果使用描述符类实现只读属性,要记住,__get____set__
两个方法必须都定义,否则,实例的同名属性会遮盖描述符。只读属性
__set__ 方法只需抛出 AttributeError 异常,并提供合适的错误
消息。

用于验证的描述符可以只有 __set__ 方法
对仅用于验证的描述符来说,__set__ 方法应该检查 value 参数
获得的值,如果有效,使用描述符实例的名称为键,直接在实例的
__dict__ 属性中设置。这样,从实例中读取同名属性的速度很快,因
为不用经过 __get__ 方法处理。参见示例 20-1 中的代码。

仅有 __get__ 方法的描述符可以实现高效缓存
如果只编写了 __get__ 方法,那么创建的是非覆盖型描述符。这
种描述符可用于执行某些耗费资源的计算,然后为实例设置同名属性,
缓存结果。同名实例属性会遮盖描述符,因此后续访问会直接从实例的__dict__ 属性中获取值,而不会再触发描述符的 __get__ 方法。

非特殊的方法可以被实例属性遮盖

由于函数和方法只实现了 __get__ 方法,它们不会处理同名实例
属性的赋值操作。因此,像 my_obj.the_method = 7 这样简单赋值之
后,后续通过该实例访问 the_method 得到的是数字 7——但是不影响
类或其他实例。然而,特殊方法不受这个问题的影响。解释器只会在类
中寻找特殊的方法,也就是说,repr(x) 执行的其实是
x.__class__.__repr__(x),因此 x 的__repr__属性对 repr(x) 方
法调用没有影响。出于同样的原因,实例的 __getattr__ 属性不会破
坏常规的属性访问规则。

实例的非特殊方法可以被轻松地覆盖,这听起来不可靠且容易出错,可
是在我使用 Python 的 15 年中从未受此困扰。然而,如果要创建大量动
态属性,属性名称从不受自己控制的数据中获取(像本章前面那样),
那么你应该知道这种行为;或许你还可以实现某种机制,过滤或转义动
态属性的名称,以维持数据的健全性。

示例 19-6 中的 FrozenJSON 类不会出现实例属性遮盖方法的
问题,因为那个类只有几个特殊方法和一个 build 类方法。只要
通过类访问,类方法就是安全的,在示例 19-6 中我就是这么调用
FrozenJSON.build 方法的——在示例 19-7 中替换成 __new__
法了。Record 类(见示例 19-9 和示例 19-11)及其子类也是安全
的,因为只用到了特殊的方法、类方法、静态方法和特性。特性是
数据描述符,因此不能被实例属性覆盖。

讨论特性时讲了两个功能,这里讨论的描述符还未涉及,结束本章之前
我们来讲讲:文档和对删除托管属性的处理。

http://www.dtcms.com/a/432082.html

相关文章:

  • 网站后台cms南京的互联网公司
  • 西安工商注册网上平台株洲网站排名优化价格
  • 网站建设与运营 就业深夜的fm免费看
  • 汽车配件外贸网站爱企查商标查询
  • 诸城盟族网站建设做招牌的广告公司
  • 数字信号处理 第一章(离散时间信号与系统)【下】
  • 【星海出品】程序的存储访问 - Q-A解答
  • 怎么查网站服务器优化seo方案
  • 10.1 面向长序列建模的高效注意力机制
  • 怎么自己做网站挣钱网站cn和com有什么区别
  • java线上问题排查-OOM内存溢出
  • 阿里云国际站官网如何让网站不被收录
  • Notepad++下载安装图文教程(附安装包)
  • ProtoBuf使用手册(入门)
  • 网站服务器 电信推广码怎么填
  • 数据驱动+AI赋能:互联网项目管理全流程的技术破局与方法论实践
  • 贵阳网站建设设计手机做任务的网站
  • AI大模型:(三)1.4 Dify聊天助手快速搭建智能淘宝店小二
  • dw做网站怎么排版网站开发应财务如何记账
  • 网站开发流行工具如何知道一个网站做的什么推广
  • 网站建设方面书籍手机网站导航特效
  • 网站策划包括哪些内容中国哪家网站做仿古做的好
  • 常用的建一个网站要多少钱四川省和城乡建设厅网站
  • 笔记:标准化和归一化的学习
  • 培训学校类网站建设方案1软装包括哪些
  • 计算机网络【第三章-数据链路层】
  • 网站 建设 内容 安排济南seo整站优化厂家
  • Ubuntu 中获取指定软件依赖安装包
  • 利用CountDownLatch批量处理解决实际业务问题
  • 网站建设公司新员工培训ppt模板北京发布紧急通知2023年