[Python-Dev] Borrowed and Stolen References in API

Mark Shannon marks at dcs.gla.ac.uk
Fri May 6 12:45:38 CEST 2011


Antoine Pitrou wrote:
> On Fri, 06 May 2011 13:28:11 +1200
> Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:
> 
>> Amaury Forgeot d'Arc wrote [concerning the Doc/data/refcounts.dat file]:
>>
>>> This is not always true, for example when the item is already present
>>> in the dict.
>>> It's not important to know what the function does to the object,
>>> Only the action on the reference is relevant.
>> Yes, that's the whole point. When using a functon,
>> what you need to know is whether it borrows or steals
>> a reference.
> 
> Doesn't "borrow" mean the same as "steal" in that context?
> If an API borrows a reference, I expect it to take it from me.

"Stealing" takes the ownership. Borrowing does not.

This explains it better:
http://docs.python.org/py3k/c-api/intro.html#reference-count-details

Cheers,
Mark.


More information about the Python-Dev mailing list