什么是 member_descriptor 以及如何在 Python 中访问/修改其内容?

Sai*_*aza 8 cpython pickle python-3.6

有人可以解释一下member_descriptor是什么以及如何从 Python 解释器访问/修改其内容吗?

Python版本=3.6

In [1]: import _pickle

In [2]: _pickle.Pickler.dispatch_table
Out[2]: <member 'dispatch_table' of '_pickle.Pickler' objects>

In [3]: type(_pickle.Pickler.dispatch_table)
Out[3]: member_descriptor
Run Code Online (Sandbox Code Playgroud)

我只能找到这个来解释member_descriptor。

Hac*_*ker 1

Adescriptor是一个object in Python定义了__get__, __set__and__del__方法的 。这是一个快速操作指南

这对于例如定义read-only值或理论上也write-only有帮助delete-only

据我了解,成员描述符只是描述符的特殊变体。更多信息可以在检查模块中找到,您还可以在那里找到一些 C 详细信息 的链接