我不清楚 python 教程文档中的这一段落在说什么。
\n\n(在这里找到:https://docs.python.org/3/tutorial/classes.html#method-objects)
\n\n\n\n\n当引用的实例属性不是数据属性时,将搜索其类。如果名称表示有效的类属性是函数对象,则通过将实例对象和刚刚找到的函数对象打包(指向)在一个抽象对象中来创建方法对象:这就是方法对象。当使用参数列表调用方法对象时,会根据实例对象和参数列表构造一个新的参数列表,并使用该新参数列表调用函数对象。
\n
根据我目前的理解,我认为它的意思是,每当您引用类实例的属性时,就像这个小片段的第 8 行所示:
\n\nclass MyClass():\n attribute = "I am an attribute"\n\n def func(self):\n return "I am a function"\n\ninstance = MyClass()\nprint(instance.func())\nRun Code Online (Sandbox Code Playgroud)\n\n当蟒蛇看到
\n\ninstance.func()\nRun Code Online (Sandbox Code Playgroud)\n\n它真正做的不是寻找func“拥有”的方法instance,而是寻找func拥有的函数MyClass,然后调用拥有的函数MyClass作为instance参数self。
所以基本上它与以下内容相同:
\n\nMyClass.func(instance)\nRun Code Online (Sandbox Code Playgroud)\n\n我觉得我错过了一些微妙的东西。我不明白这是什么意思
\n\n\n\n\n...方法对象是通过将实例对象和刚刚找到的函数对象打包(指向)在一个抽象对象中而创建的:这就是方法对象。
\n
什么是抽象对象?
\n\n“打包”指针是什么意思?
\n\n“打包”多个指针是什么意思?
\n\ninstance如果 python 只是要查看MyClass\ 的函数对象,为什么还要有一个方法对象呢?
为什么 python …