鱼C论坛

 找回密码
 立即注册
查看: 3553|回复: 4

[已解决]Python第2版(第178页)例子关于self,instance,owner理解问题请教

[复制链接]
发表于 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之间的关系。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-2 05:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表