第一个问题,对不起,如果以前有人问过-我确实搜索过,但找不到任何似乎可以回答的问题。
我一直在尝试理解 python__del__
方法的行为,因为我需要它对包装的 C 代码执行一些清理。
我的理解__del__
是当对象的引用计数达到零时调用它,而不是在del
对象引用上调用时调用。这让我相信在没有赋值的情况下实例化一个对象会在之后立即调用__init__
then __del__
,但情况似乎并非如此,如下面的代码所示:
class Foo():
def __init__(self):
print "Hello"
def __del__(self):
print "Goodbye"
Foo()
Hello
<__main__.Foo instance at 0x7fb943075a28>
谁能解释这里发生了什么?提前致谢。