作者Tiberius (渴望平凡的幸福)
看板Python
标题Re: [心得] 结合Python 与 C(C++) 的优点
时间Tue Apr 14 16:54:53 2009
※ 引述《KSJ (阿真)》之铭言:
: PS.我对reference count怎麽解释 跟它在Python、C之间有什麽关系
: 目前还是一头雾水...有人有推荐什麽好的网站吗??
: 官网有看过 不过感觉还不够基本...
简单来说 (官网文件翻译+简化的意味)
如果你的函式是用来生一个新东西传回去给 Python 用,
那在传回去之前要帮它 Py_INCREF().
如果呼叫的函式在手册里写 Return value:
New reference 的话,
就可以直接传回去给 Python code 用;
如果只在 C 里面用, 没有传回去的话, 用完记得 Py_DECREF().
如果呼叫的函式在手册里写 Return value:
Borrowed reference 的话,
要传回去给 Python 用, 或者是自己暂存下来之前, 就要先呼叫 Py_INCREF()
(这就是 Reference counting 里面 Thin Ice 那段举的例子)
自己暂存下来的东西用完之後, 理所当然要呼叫 Py_DECREF() 才能扔掉
就这三点而已, 应该不会很复杂吧 ... XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.120.15.14
1F:推 KSJ:大感谢 马上回家看<(_ _)> 04/14 17:06
2F:推 yoco315:大家都好厉害喔… @@ 我不太懂 python 04/14 22:26
3F:推 guteres:全浮出水面了 04/15 22:28
4F:推 keitheis:水 04/15 23:15