弱參照物件¶
Python supports weak references as first-class objects. There are two specific object types which directly implement weak references. The first is a simple reference object, and the second acts as a proxy for the original object as much as it can.
-
int PyWeakref_Check(PyObject *ob)¶
Return non-zero if ob is either a reference or proxy object. This function always succeeds.
-
int PyWeakref_CheckRef(PyObject *ob)¶
Return non-zero if ob is a reference object or a subclass of the reference type. This function always succeeds.
-
int PyWeakref_CheckRefExact(PyObject *ob)¶
Return non-zero if ob is a reference object, but not a subclass of the reference type. This function always succeeds.
-
int PyWeakref_CheckProxy(PyObject *ob)¶
Return non-zero if ob is a proxy object. This function always succeeds.
-
PyObject *PyWeakref_NewRef(PyObject *ob, PyObject *callback)¶
- 回傳值:新的參照。 為 穩定 ABI 的一部分.
Return a weak reference object for the object ob. This will always return a new reference, but is not guaranteed to create a new object; an existing reference object may be returned. The second parameter, callback, can be a callable object that receives notification when ob is garbage collected; it should accept a single parameter, which will be the weak reference object itself. callback may also be
NoneorNULL. If ob is not a weakly referenceable object, or if callback is not callable,None, orNULL, this will returnNULLand raiseTypeError.也參考
PyType_SUPPORTS_WEAKREFS()for checking if ob is weakly referenceable.
-
PyObject *PyWeakref_NewProxy(PyObject *ob, PyObject *callback)¶
- 回傳值:新的參照。 為 穩定 ABI 的一部分.
Return a weak reference proxy object for the object ob. This will always return a new reference, but is not guaranteed to create a new object; an existing proxy object may be returned. The second parameter, callback, can be a callable object that receives notification when ob is garbage collected; it should accept a single parameter, which will be the weak reference object itself. callback may also be
NoneorNULL. If ob is not a weakly referenceable object, or if callback is not callable,None, orNULL, this will returnNULLand raiseTypeError.也參考
PyType_SUPPORTS_WEAKREFS()for checking if ob is weakly referenceable.
-
int PyWeakref_GetRef(PyObject *ref, PyObject **pobj)¶
- 為 穩定 ABI 的一部分 自 3.13 版本開始.
Get a strong reference to the referenced object from a weak reference, ref, into *pobj.
On success, set *pobj to a new strong reference to the referenced object and return 1.