Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python getsetdescriptor和memberdescriptor的用途是什么?_Python_Descriptor - Fatal编程技术网

Python getsetdescriptor和memberdescriptor的用途是什么?

Python getsetdescriptor和memberdescriptor的用途是什么?,python,descriptor,Python,Descriptor,政府只说: GetSet是通过PyGetSetDef结构在扩展模块中定义的属性。对于没有此类类型的Python实现,此方法将始终返回False 成员描述符是通过PyMemberDef结构在扩展模块中定义的属性。对于没有此类类型的Python实现,此方法将始终返回False 但我仍然不知道如何使用它。标准库中是否有属于这两类的对象?来自types.py源:GetSetDescriptorType=type(FunctionType.\uuuu code\uuuuuuuuuuuuuuuuuuuuuu

政府只说:

GetSet是通过PyGetSetDef结构在扩展模块中定义的属性。对于没有此类类型的Python实现,此方法将始终返回False

成员描述符是通过PyMemberDef结构在扩展模块中定义的属性。对于没有此类类型的Python实现,此方法将始终返回False


但我仍然不知道如何使用它。标准库中是否有属于这两类的对象?

来自
types.py
源:
GetSetDescriptorType=type(FunctionType.\uuuu code\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu,但我可以提供有关
成员描述符()
的信息,这些
类型提供的信息仅供比较。因此,基本上,如果您曾经使用过
\uuuuuu slots\uuuuu
并玩过元编程,
\uuuuu slots\uuuuu
对象中使用的
\uuuuuu slots()
类型中的
\uuuu new\uuuuuuuuu()
会阻止创建
\uuuuu dict\uuuuu
,而
\uuuu slots\uuuu
中给出的任何名称都用于创建提供给类
\uuuu dict\uuuu
成员描述符
对象。希望这有助于澄清一些困惑我不知道如何显式地创建
member\u描述符。uuu new\uuuu(PyTypeObject*type,PyMemberDef*member)
对象,因为我确信您已经发现不能只是初始化它们。。。我在这里跌跌撞撞地寻找答案,因为我无法从包含我需要的描述符的类继承。。。但是如果您查看Py27源代码中的descrobject.c,您会发现我引用的相关信息。