关于oop:什么是python方法包装器’包装’

What is 'wrapped' by a python method wrapper

我正在阅读关于Python3中OOP的博客文章。其中有:

As you can see, a __get__ method is listed among the members of the function, and Python recognizes it as a method-wrapper. This method shall connect the open function to the door1 instance, so we can call it passing the instance alone.

我想更直观地理解这一点。在这种情况下,"包装"是什么?

></P></p>
<div class=


method-wrapper对象正在包装C函数。它将一个实例(此处是在C结构中定义的function实例)和一个C函数绑定在一起,以便在调用它时,将正确的实例信息传递给C函数。

在自定义类中,它是与method对象和function对象等效的C API。给定一个具有函数bar的类FooFoo().bar生成一个绑定方法,它将Foo()实例和Foo.bar函数组合在一起,以便在调用时,可以将该实例作为第一个参数传递(通常称为self)。

另请参见描述符协议;这是定义__get__方法的内容,以及如何调用它。