【发布时间】:2012-12-28 17:24:11
【问题描述】:
我试图了解为什么对象销毁在新样式类中的工作方式与旧样式类不同。
class Wrapper():
class Inner(object):
def __del__(self):
print 'Inner destructor'
innerInstance = Inner()
def __del__(self):
print 'Wrapper destructor'
if __name__ == '__main__':
x = Wrapper()
退出时,会输出:
Wrapper destructor
Inner destructor
但是,如果我使用 Wrapper 作为新样式类,则只调用 wrapper 析构函数,输出为:
Wrapper destructor
有人可以解释上面显示的行为吗?
【问题讨论】:
-
将此复制到较新的帖子中,而不是相反,因为较新的帖子有 a) 对问题的稍微简单的说明和 b) 解释为什么的答案> 这会发生。
标签: python destructor