On this page
弱参考对象
Python 支持弱引用作为一流对象。有两种直接实现弱引用的特定对象类型。第一个是简单的引用对象,第二个则尽可能地充当原始对象的代理。
- int
PyWeakref_Check
(ob)- 如果* ob *是引用或代理对象,则返回 true。
2.2 版中的新Function。
- int
PyWeakref_CheckRef
(ob)- 如果* ob *是参考对象,则返回 true。
2.2 版中的新Function。
- int
PyWeakref_CheckProxy
(ob)- 如果* ob *是代理对象,则返回 true。
2.2 版中的新Function。
返回对象* ob 的弱引用对象。这将始终返回新的引用,但不能保证创建新的对象;现有参考对象可能会返回。第二个参数 callback 可以是一个可调用对象,当 ob *被垃圾回收时,该对象将接收通知。它应该接受一个参数,即弱引用对象本身。 * callback 也可以是None
或 NULL 。如果 ob 不是弱引用对象,或者 callback 是不可调用的None
或 NULL ,则将返回 NULL *并引发TypeError。
2.2 版中的新Function。
返回对象* ob 的弱引用代理对象。这将始终返回新的引用,但不能保证创建新的对象;现有的代理对象可能会返回。第二个参数 callback 可以是一个可调用对象,当 ob *被垃圾回收时,该对象将接收通知。它应该接受一个参数,即弱引用对象本身。 * callback 也可以是None
或 NULL 。如果 ob 不是弱引用对象,或者 callback 是不可调用的None
或 NULL ,则将返回 NULL *并引发TypeError。
2.2 版中的新Function。
从弱引用* ref *返回引用的对象。如果引用对象不再有效,则返回Py_None
。
2.2 版中的新Function。
Warning
该函数返回被引用对象的“借用引用”。这意味着您应该始终在对象上调用Py_INCREF(),除非您知道在使用它时无法销毁它。
与PyWeakref_GetObject()相似,但实现为不进行错误检查的宏。
2.2 版中的新Function。