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