我有一门课,有时我想“重置”。与其手动清除类中的所有变量及其使用的所有模块,我认为通过调用自身的init来重构它可能是一个好主意。我担心的是我不太确定这是否是一个好的模式,或者 GC 是否正确清除了旧对象。
下面是一个例子:
from modules import SmallClass
from modules import AnotherClass
class BigClass(object):
def __init__(self, server=None):
"""construct the big class"""
self.server = server
self.small_class = SmallClass(self.server)
self.another_class = AnotherClass(small_class)
def reset_class(self):
"""reset the big class"""
self.__init__(self.server)
这会导致问题,还是有更好的方法来解决这个问题?