如果我在 Python 3.10 中运行此代码:
import gc
def main():
a = 23764723
ref = gc.get_referrers(a)[0]
print(ref)
if __name__ == "__main__":
main()
我得到以下输出:
['gc', 'main', 'a', 23764723, 'ref', 'gc', 'get_referrers', 'a', 0, 'print', 'ref', '__main__', '__name__', 'main']
这个列表是什么,它似乎包含我的代码中的所有文字(?)? Python 文档中是否有任何解释?
谢谢!
gc = 垃圾收集器接口
gc.get_referrers(*objs)返回直接引用任何 obj 的对象列表。该函数只会定位那些支持垃圾回收的容器;将找不到引用其他对象但不支持垃圾回收的扩展类型。
请注意,已取消引用但存在于循环中且尚未被垃圾收集器收集的对象可以在结果引用者中列出。要仅获取当前活动的对象,请在调用 get_referrers() 之前调用collect()。