[英]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.