擅长:python、mysql、java
<p>可以使用<code>__getstate__</code>和<code>__setstate__</code>来控制pickle:</p>
<pre><code>import numpy as np
class A:
def __init__(self):
self.a = np.array([0,1,2,3,4,5])
self.b = self.a.reshape((2, 3))
def __getstate__(self):
return {"a":self.a, "b":self.b.shape}
def __setstate__(self, state):
self.a = state["a"]
self.b = self.a.reshape(state["b"])
import pickle
x = A()
s = pickle.dumps(x)
y = pickle.loads(s)
y.b.base is y.a
</code></pre>