[英]What is 'wrapped' by a python method wrapper
我正在阅读python 3中有关OOP的博客文章 。 其中有:
如您所见,该函数的成员中列出了
__get__
方法,Python将其识别为方法包装器。 此方法应将open函数连接到door1实例,因此我们可以称它为单独传递实例。
我试图更直观地理解这一点。 在这种情况下,“包装”是什么?
method-wrapper
对象包装了C函数。 它将一个实例(这里是在C结构中定义的一个function
实例)和一个C函数绑定在一起,以便在调用它时,正确的实例信息将传递给C函数。
它与自定义类上的method
对象和function
的C API等效。 给定的一类Foo
与函数bar
, Foo().bar
产生一个结合的方法,该方法结合在一起Foo()
实例和Foo.bar
功能,使调用时,就可以在该实例通过作为第一个参数(通常称为self
)。
另请参见描述符协议 ; 这就是定义__get__
方法的方式以及如何调用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.