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__
Bar
self._value
self._more
self._callback
__init__()
Foo
しかし、これを達成する方法がわかりません。
どんな助けでも大歓迎です。
ありがとう。