|
|
发表于 2023-10-16 16:29:42
|
显示全部楼层
您的理解已经很准确了。下面给您提供一些更详细的解释。
在Python中,描述符是一种实现了__get__,__set__和/或__delete__方法的类。当一个描述符被用作一个类的属性时,它可以控制这个属性的访问和修改。
在书中的例子中,MyDescriptor是一个描述符类。当我们实例化一个MyDescriptor对象时,我们创建了一个描述符实例,这个实例被称为self。
当我们将这个描述符对象作为Test类的属性时,我们称这个描述符对象为Test类的描述符属性。当我们创建一个Test类的实例时,我们称这个实例为instance。
当我们访问或修改Test类的描述符属性时,Python会调用描述符的__get__和__set__方法。在这些方法中,我们可以访问self和instance。self是描述符对象自身的引用,而instance是拥有这个描述符属性的类的实例。
另外,owner是描述符类自身的引用。在描述符的__get__和__set__方法中,我们可以通过self.__class__来访问描述符类自身的引用。
希望这些解释可以帮助您更好地理解描述符和self,instance,owner之间的关系。 |
|