我想知道程序结束时不调用 destrucor(__del__
)。
如何调整__del__
?
例如,
class destruct:
def __init__(self, name):
self.name = name
print(f"(initializing {self.name}...)")
def __del__(self):
print(f"(Destroying {self.name} ...)")
test1 = destruct('a')
test2 = destruct('b')
该代码的结果:
(initializing a...)
(initializing b...)
(Destroying a ...) <- I don't want to printing this message
(Destroying b ...) <- I don't want to printing this message
最佳答案
__del__
的全部要点是在删除对象时调用。
对于 C-Python,如果对象的引用计数器为 0,则对象将被删除,这通常是在函数范围的末尾或程序结束时。
如果你不想要这种行为,那么不要使用 __del__
,而是实现一些其他的显式机制。
如果您提供有关您的确切背景的更多详细信息,我们可能会建议。
关于python - 当进程在 python 中完成时,有什么方法不调用类的析构函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58751045/