3
我知道,如果我推遲一個函數並傳遞一些參數給它,函數就有這些參數並且可以和它們一起工作,但是一個函數可以作爲實例化對象的一部分(例如)訪問其對象的變量?延遲庫允許打包函數訪問多少信息?
class foo (object):
def __init__ (self):
self.bar = 42
def do_work (self):
self.bar += 1
baz = foo()
deferred.defer(baz.do_work)
我基本上必須給函數所需的所有信息作爲參數嗎?
另外,如果只有對它的引用是延遲函數,baz是否會被丟棄?
因此,爲了重申確保我完全理解:deferred.defer(baz.do_work)會導致整個baz實例被「保存」(序列化),即使只調用1個函數。 baz很可能會被丟棄,但是它會在執行任務時從「已保存」的任務數據中「加載」。那裏有一些魔力。 – Milo 2011-02-01 10:49:45