作者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
推 KSJ:大感謝 馬上回家看<(_ _)> 04/14 17:06
推 yoco315:大家都好厲害喔… @@ 我不太懂 python 04/14 22:26
推 guteres:全浮出水面了 04/15 22:28
推 keitheis:水 04/15 23:15