python描述器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python描述器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含791字,纯文字阅读大概需要2分钟。
内容图文
![python描述器](/upload/InfoBanner/zyjiaocheng/844/22e9eaf182ac4b28acb88968fe720d58.jpg)
描述器的表现:用到三个魔术方法:__get__()、__set__()、__delete__()
方法签名如下:
object.__get__(self,instance,owner)
object.__set__(self,instance,value)
object.__delete__(self,instance)
self指代当前实例,调用者;instance是owner的实例;owner是属性所属的类
python中,一个类实现了__get__、__set__、__delete__三个方法中的任何一个方法,就是描述器,如果仅实现了__get__,就是非数据描述器,同时实现了__get__、__set__就是数据描述器
描述器在python中应用非常广泛,包括staticmethod()和classmethod()都实现为非数据描述器,因此,实例可以重新定义和覆盖方法,这允许单个实例获取与同一类的其他实例不同的行为
property()函数实现为一个数据描述器,因此,实例不能覆盖属性的行为
例一:使用描述器实现staticmethod装饰器
例二、使用描述器实现classmethod装饰器
例三、Person类的实例,实现对其属性name,age进行数据校验
内容总结
以上是互联网集市为您收集整理的python描述器全部内容,希望文章能够帮你解决python描述器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。