Deferring a function call

Peter Otten __peter__ at web.de
Tue Oct 19 05:36:54 EDT 2010


TomF wrote:

> I'm writing a simple simulator, and I want to schedule an action to
> occur at a later time.  Basically, at some later point I want to call a
> function f(a, b, c).  But the values of a, b and c are determined at
> the current time.
> 
> One way way to do this is to keep a list of entries of the form [[TIME,
> FN, ARGS]...] and at simulated time TIME do: apply(FN, ARGS)
> Aside from the fact that apply is deprecated, it seems like there
> should be a cleaner (possibly more Pythonic) way to do this.   Ideas?

You can prepare the function 

fstar = functools.partial(f, a, b, c)

and later invoke it as

fstar()

Peter




More information about the Python-list mailing list