如果您仅使用带有
__call__方法的类作为开始,则所有类都应与一起顺利使用
pickle。
class foo(object): def __init__(self, bar, baz): self.baz = baz def __call__(self,waldo): return self.baz * waldo
另一方面,由于
pickle处理类和实例的方式,将闭包转换为在运行时创建的新类的实例的黑客将不起作用。
pickle不存储类;仅模块名称和类名称。当读回实例或类时,它将尝试导入模块并在其中找到所需的类。如果您使用的是即时创建的课程,那么您会很不幸。



