栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

理解get、set和Python描述符

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

理解get、set和Python描述符

描述符是如何实现

Python property
类型的。描述符仅实现
__get__
__set__
等等,然后被添加到其定义中的另一个类中(就像你上面对
Temperature
类所做的一样)。例如:

temp=Temperature()temp.celsius #calls celsius.__get__

访问你为描述符分配的属性(celsius在上面的示例中)调用适当的描述符方法。

instancein __get__
是类的实例(因此,在上面,
__get__
将接收temp,owner而是带有描述符的类(因此将是
Temperature
)。

你需要使用描述符类来封装为其提供动力的逻辑。这样,如果描述符用于缓存某些昂贵的操作(例如),它可以将值存储在自身而不是其类上。

关于描述符的文章可以在这里找到。

编辑:正如

jchl
在评论中指出的,如果你只是尝试
Temperature.celsius
instance
将是
None



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/431803.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号