我试图理解为什么对象破坏在新样式类中的工作方式与旧样式类不同。
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
有人可以解释上面显示的行为吗?