我有一个类 ( Bar
),它实际上有自己的状态和回调,并被另一个类 ( Foo
) 使用:
class Foo(object):
def __init__(self):
self._bar = Bar(self.say, 10)
self._bar.work()
def say(self, msg):
print msg
class Bar(object):
def __init__(self, callback, value):
self._callback = callback
self._value = value
self._more = { 'foo' : 1, 'bar': 3, 'baz': 'fubar'}
def work(self):
# Do some work
self._more['foo'] = 5
self._value = 10
self._callback('FooBarBaz')
Foo()
显然我不能腌制类,Foo
因为Bar
有一个实例方法,所以我留下了以下实现__getstate__
& __setstate__
inBar
以保存self._value
&的解决方案self._more
,但我也必须实例化该self._callback
方法(即__init__()
从外部类调用Foo
传递回调函数.
但我无法弄清楚如何实现这一目标。
任何帮助深表感谢。
谢谢。