【发布时间】:2014-07-04 19:03:27
【问题描述】:
在以下 Python 代码中:
class Foo:
def bar(self):
return 1
def baz():
return Foo()
print baz().bar()
问题0:
当在print baz().bar() 中评估bar() 时,是什么使baz() 返回的Foo 实例尚未被垃圾收集,因为似乎没有对它的引用,就像在:
foo = baz()
print foo.bar()
其中foo 存储Foo 实例的引用。
问题一:
如果 Foo 和 baz 在 Python 扩展模块中用 C 语言实现,baz 是否应该增加返回对象 foo 的引用计数以将其设置为 1?
【问题讨论】:
-
第 0 部分:is 引用了
Foo实例:Foo.bar中的参数self。
标签: python refcounting