Python 中啥叫method_descriptor wrapper_descriptor?

img


python中啥叫
method_descriptor
wrapper_descriptor

在 Python 中,method_descriptor 是一种类型,它表示一个方法描述符(method descriptor)。方法描述符是一种特殊的对象属性,它可以被用作类的方法。

方法描述符是一种对象,它定义了一个特殊的方法,被称为描述符方法(descriptor method)。这个方法可以被用来对属性进行一些特殊的操作,例如验证、计算等。

在 Python 中,许多内置的方法,例如 get、set 和 delete,都是描述符方法。这些方法可以用来实现属性的访问控制和一些额外的逻辑,以便更好地控制对象的访问和修改。

method_descriptor 类型的对象表示一个方法描述符的实例。它通常被用作类的方法,可以通过类或实例来调用。例如,可以将一个方法描述符绑定到一个类的属性上,然后通过类或实例来调用这个属性,从而调用这个方法描述符。

values是个函数,所以它是个函数类型
setitem是个装饰器,所以这是个装饰器类型

第一个就是方法描述子 ,我是理解成类的成员变量或成员函数。
第二个就是内置方法描述子,从外网上看不用太在意,知道它底层是C就可以了 https://stackoverflow.com/questions/15512183/what-is-a-wrapper-descriptor-and-why-is-foo-init-one-in-this-case