“Python/docs/3.9/c-api/descriptor”的版本间差异
来自菜鸟教程
Python/docs/3.9/c-api/descriptor
(autoload) |
小 (Page commit) |
||
第1行: | 第1行: | ||
+ | {{DISPLAYTITLE:描述符对象 — Python 文档}} | ||
<div id="descriptor-objects" class="section"> | <div id="descriptor-objects" class="section"> | ||
<span id="id1"></span> | <span id="id1"></span> | ||
− | = | + | = 描述符对象 = |
− | + | “描述符”是描述对象某些属性的对象。 它们可以在类型对象的字典中找到。 | |
− | |||
− | ; [[../type#c|PyTypeObject]] < | + | ; [[../type#c|<span class="n"><span class="pre">PyTypeObject</span></span>]]<span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyProperty_Type</span></span></span><br /> |
− | |||
− | + | : 内置描述符类型的类型对象。 | |
− | : | ||
− | ; [[../structures#c|PyObject]] *< | + | ; [[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">PyDescr_NewGetSet</span></span></span><span class="sig-paren">(</span>[[../type#c|<span class="n"><span class="pre">PyTypeObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">type</span></span>, <span class="k"><span class="pre">struct</span></span><span class="w"> </span>[[../structures#c|<span class="n"><span class="pre">PyGetSetDef</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">getset</span></span><span class="sig-paren">)</span><br /> |
− | |||
− | + | : | |
− | : | ||
− | ; [[../structures#c|PyObject]] *< | + | ; [[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">PyDescr_NewMember</span></span></span><span class="sig-paren">(</span>[[../type#c|<span class="n"><span class="pre">PyTypeObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">type</span></span>, <span class="k"><span class="pre">struct</span></span><span class="w"> </span>[[../structures#c|<span class="n"><span class="pre">PyMemberDef</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">meth</span></span><span class="sig-paren">)</span><br /> |
− | |||
− | + | : | |
− | : | ||
− | ; int < | + | ; [[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">PyDescr_NewMethod</span></span></span><span class="sig-paren">(</span>[[../type#c|<span class="n"><span class="pre">PyTypeObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">type</span></span>, <span class="k"><span class="pre">struct</span></span><span class="w"> </span>[[../structures#c|<span class="n"><span class="pre">PyMethodDef</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">meth</span></span><span class="sig-paren">)</span><br /> |
− | : | + | |
+ | : | ||
+ | |||
+ | ; [[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">PyDescr_NewWrapper</span></span></span><span class="sig-paren">(</span>[[../type#c|<span class="n"><span class="pre">PyTypeObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">type</span></span>, <span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="n"><span class="pre">wrapperbase</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">wrapper</span></span>, <span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">wrapped</span></span><span class="sig-paren">)</span><br /> | ||
+ | |||
+ | : | ||
+ | |||
+ | ; [[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">PyDescr_NewClassMethod</span></span></span><span class="sig-paren">(</span>[[../type#c|<span class="n"><span class="pre">PyTypeObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">type</span></span>, [[../structures#c|<span class="n"><span class="pre">PyMethodDef</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">method</span></span><span class="sig-paren">)</span><br /> | ||
+ | |||
+ | : | ||
+ | |||
+ | ; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDescr_IsData</span></span></span><span class="sig-paren">(</span>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">descr</span></span><span class="sig-paren">)</span><br /> | ||
+ | |||
+ | : 如果描述符对象 ''descr'' 描述数据属性,则返回 true,如果描述方法,则返回 false。 ''descr'' 必须是描述符对象; 没有错误检查。 | ||
+ | |||
+ | ; [[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">PyWrapper_New</span></span></span><span class="sig-paren">(</span>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="p"><span class="pre">*</span></span>, [[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="p"><span class="pre">*</span></span><span class="sig-paren">)</span><br /> | ||
+ | |||
+ | : | ||
+ | |||
+ | |||
+ | </div> | ||
+ | <div class="clearer"> | ||
− | |||
− | |||
</div> | </div> | ||
− | [[Category:Python 3.9 | + | [[Category:Python 3.9 文档]] |
2021年10月31日 (日) 04:50的最新版本
描述符对象
“描述符”是描述对象某些属性的对象。 它们可以在类型对象的字典中找到。
- PyTypeObject PyProperty_Type
- 内置描述符类型的类型对象。
- PyObject *PyDescr_NewGetSet(PyTypeObject *type, struct PyGetSetDef *getset)
- PyObject *PyDescr_NewMember(PyTypeObject *type, struct PyMemberDef *meth)
- PyObject *PyDescr_NewMethod(PyTypeObject *type, struct PyMethodDef *meth)
- PyObject *PyDescr_NewWrapper(PyTypeObject *type, struct wrapperbase *wrapper, void *wrapped)
- PyObject *PyDescr_NewClassMethod(PyTypeObject *type, PyMethodDef *method)
- int PyDescr_IsData(PyObject *descr)
- 如果描述符对象 descr 描述数据属性,则返回 true,如果描述方法,则返回 false。 descr 必须是描述符对象; 没有错误检查。