gpt4 book ai didi

Python 引用计数

转载 作者:太空宇宙 更新时间:2023-11-04 01:16:07 24 4
gpt4 key购买 nike

在以下 Python 代码中:

class Foo:
def bar(self):
return 1

def baz():
return Foo()

print baz().bar()

问题0:

bar()print baz().bar() 中计算时, 返回的 Foo 实例是什么baz() 尚未被垃圾收集,因为似乎没有对它的引用,就像在:

foo = baz()
print foo.bar()

foo 存储了 Foo 实例的引用。

问题一:

如果 Foo 和 baz 是在 Python 扩展模块中用 C 实现的,baz 是否应该增加返回对象 foo 的引用计数以将其设置为 1?

最佳答案

答案0:调用bar()时,bar是一个绑定(bind)方法(绑定(bind)到Foo实例),它保持一个引用其 self 参数,即 Foo 实例。

关于Python 引用计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24579721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com