2
虽然重装Python模块不难并且向你保证,新对象将使用新代码,问题就来了围绕现有的对象。如何在模块重新加载后升级Python对象?
是否可以升级现有的对象,所以他们将使用新的代码?我们可以假设我们知道哪些类被改变了。
不过,这可能是一些额外的功能被添加到__init__()
,所以只是复制他们的字典还不够。一个可能的解决办法,我认为是要确保这些对象可以通过执行类似obj = MyClass(obj)
,这意味着__init__
应该以这样的方式,它不会打破,如果调用多次写入升级。