【发布时间】:2012-01-17 00:38:54
【问题描述】:
虽然重新加载 python 模块并不难,并确保新对象将使用新代码,但问题在于现有对象。
是否可以升级现有对象以使用新代码?我们可以假设我们知道哪些类发生了变化。
不过,__init__() 有可能添加了一些额外的功能,所以仅仅复制他们的字典是不够的。我考虑的一种可能的解决方案是确保可以通过执行obj = MyClass(obj) 之类的操作来升级这些对象,这意味着__init__ 的编写方式应该是在多次调用时不会中断。
【问题讨论】: