擅长:python、mysql、java
<p>如果您只使用一个带有<code>__call__</code>方法的类,那么它应该可以顺利地与<code>pickle</code>一起工作。在</p>
<pre><code>class foo(object):
def __init__(self, bar, baz):
self.baz = baz
def __call__(self,waldo):
return self.baz * waldo
</code></pre>
<p>另一方面,由于<code>pickle</code>处理类和实例的方式,将闭包转换为在运行时创建的新类的实例的黑客行为是行不通的。<code>pickle</code>不存储类;只存储模块名和类名。当读回一个实例或类时,它尝试导入模块并在其中找到所需的类。如果你使用了一个动态创建的类,那你就倒霉了。在</p>