python学习: python中的descriptor

本文深入探讨Python中属性的Descriptor机制,解释为什么Descriptor会使属性不直接出现在类实例的字典中,以及Descriptor带来的灵活性和优势。通过示例演示如何自定义Descriptor,以增强对象的行为和功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

descriptor 用与类的属性

descriptor 是一个类,需要提供 __set__, __get__, __del__ 三个方法的实现。

如果一个类的属性是 descriptor,那么:

该属性不会出现在该类实例化后的对象的__dict__中。也就是说,它部作为字典的一部分出现。
访问该属性时,调用descriptor的__get__()方法
设置该属性时,调用descriptor的__set__()方法
删除该属性时,调用descriptor的__del__()方法

也就是说,如果属性是descriptor,则劫持了对字典的访问。

descriptor 的好处是什么?
增加了一层以后,可以提供更多的灵活性,感觉
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值