假设我有一个类a和一个从a派生的类B。我想pickle/unpickle类B的一个实例。a和B都定义了ugeState_u2;/uu setstate_uuu方法(假设a和B都很复杂,这就需要使用2; getstate_uuu和uu setstate_uuu)。B应该如何调用A的getstate\uu/\uu setstate\uu方法?我目前的,但可能不是“正确”的方法:
class A(object):
def __init__():
self.value=1
def __getstate__(self):
return (self.value)
def __setstate__(self, state):
(self.value) = state
class B(A):
def __init__():
self.anothervalue=2
def __getstate__(self):
return (A.__getstate__(self), self.anothervalue)
def __setstate__(self, state):
superstate, self.anothervalue = state
A.__setstate__(self, superstate)
我将使用}的实例来调用
super(B,self)
获取{A
的方法:有关方法解析顺序(MRO)和super的更多信息,请参见this article。在
相关问题 更多 >
编程相关推荐