descriptor 用与类的属性
descriptor 是一个类,需要提供 __set__, __get__, __del__ 三个方法的实现。
如果一个类的属性是 descriptor,那么:
该属性不会出现在该类实例化后的对象的__dict__中。也就是说,它部作为字典的一部分出现。
访问该属性时,调用descriptor的__get__()方法
设置该属性时,调用descriptor的__set__()方法
删除该属性时,调用descriptor的__del__()方法
也就是说,如果属性是descriptor,则劫持了对字典的访问。
descriptor 的好处是什么?
增加了一层以后,可以提供更多的灵活性,感觉
descriptor 是一个类,需要提供 __set__, __get__, __del__ 三个方法的实现。
如果一个类的属性是 descriptor,那么:
该属性不会出现在该类实例化后的对象的__dict__中。也就是说,它部作为字典的一部分出现。
访问该属性时,调用descriptor的__get__()方法
设置该属性时,调用descriptor的__set__()方法
删除该属性时,调用descriptor的__del__()方法
也就是说,如果属性是descriptor,则劫持了对字典的访问。
descriptor 的好处是什么?
增加了一层以后,可以提供更多的灵活性,感觉
本文深入探讨Python中属性的Descriptor机制,解释为什么Descriptor会使属性不直接出现在类实例的字典中,以及Descriptor带来的灵活性和优势。通过示例演示如何自定义Descriptor,以增强对象的行为和功能。
6234

被折叠的 条评论
为什么被折叠?



