åœ¨å †ä¸Šåˆ†é…�对象¶
-
PyObject *_PyObject_New(PyTypeObject *type)¶
- 返回值:新的引用。
-
PyVarObject *_PyObject_NewVar(PyTypeObject *type, Py_ssize_t size)¶
- 返回值:新的引用。
-
PyObject *PyObject_Init(PyObject *op, PyTypeObject *type)¶
- 返回值:借入的引用。 属于 稳定 ABI.
用它的类型和åˆ�始引用æ�¥åˆ�始化新分é…�对象 op。返回已åˆ�始化的对象。如果 type 明该对象å�‚ä¸Žå¾ªçŽ¯åžƒåœ¾æ£€æµ‹å™¨ï¼Œåˆ™å°†å…¶æ·»åŠ åˆ°æ£€æµ‹å™¨çš„è§‚å¯Ÿå¯¹è±¡é›†ä¸ã€‚ å¯¹è±¡çš„å…¶ä»–å—æ®µä¸�å�—å½±å“�。
-
PyVarObject *PyObject_InitVar(PyVarObject *op, PyTypeObject *type, Py_ssize_t size)¶
- 返回值:借入的引用。 属于 稳定 ABI.
它的功能和
PyObject_Init()ä¸€æ ·ï¼Œå¹¶ä¸”ä¼šåˆ�始化å�˜é‡�大å°�对象的长度信æ�¯ã€‚
-
PyObject_New(TYPE, typeobj)¶
使用 C 结构类型 TYPE 和 Python 类型对象 typeobj (
PyTypeObject*) 分é…�一个新的 Python 对象。 f未在该 Python å¯¹è±¡æ ‡å¤´ä¸å®šä¹‰çš„å—æ®µä¸�会被åˆ�始化。 调用方将拥有对该对象的唯一引用(å�³å¼•用计数将为 1)。 内å˜åˆ†é…�的大å°�由类型对象的tp_basicsizeå—æ®µå†³å®šã€‚
-
PyObject_NewVar(TYPE, typeobj, size)¶
使用 C 结构类型 TYPE 和 Python 类型对象 typeobj (
PyTypeObject*) 分é…�一个新的 Python 对象。 未在该 Python å¯¹è±¡æ ‡å¤´ä¸å®šä¹‰çš„å—æ®µä¸�会被åˆ�始化。 被分é…�的内å˜å…�许 TYPE ç»“æž„åŠ typeobj çš„tp_itemsizeå—æ®µæ‰€ç»™å‡ºçš„ size (Py_ssize_t) ä¸ªå—æ®µã€‚ 这对于实现åƒ�å…ƒç»„è¿™æ ·èƒ½å¤Ÿåœ¨æž„é€ æ—¶ç¡®å®šå…¶å¤§å°�的对象æ�¥è¯´å¾ˆæœ‰ç”¨ã€‚ 将嗿®µæ•°ç»„嵌入到相å�Œçš„内在分é…�ä¸å�¯å‡�少内å˜åˆ†é…�的次数,这æ��高了内å˜ç®¡ç�†æ•ˆçŽ‡ã€‚
-
void PyObject_Del(void *op)¶
释放使用
PyObject_New或PyObject_NewVar分é…�给一个对象的内å˜ã€‚ è¿™é€šå¸¸ç”±åœ¨å¯¹è±¡çš„ç±»åž‹ä¸æŒ‡å®šçš„tp_dealloc处ç�†å�¥æŸ„æ�¥è°ƒç”¨ã€‚ 在æ¤è°ƒç”¨ä¹‹å�Žè¯¥å¯¹è±¡ä¸çš„å—æ®µä¸�应å†�è¢«è®¿é—®å› ä¸ºåŽŸæ�¥çš„内å˜å·²ä¸�å†�是一个有效的 Python 对象。
-
PyObject _Py_NoneStruct¶
这个对象是�
Noneä¸€æ ·çš„ Python 对象。它å�¯ä»¥ä½¿ç”¨Py_Noneå®�访问,该å®�的拿到指å�‘该对象的指针。
��
PyModule_Create()分é…�内å˜å’Œåˆ›å»ºæ‰©å±•模å�—