eppstein at ics.uci.edu
Wed Jul 2 03:42:27 CEST 2003
In article <3jc4gvgn5rb4c4008eedg958ee594lu8p2 at 4ax.com>,
Tom Plunket <tomas at fancy.org> wrote:
> How can I create a functor object in Python?
> What I want (being a C++ coder <g>), is to be able to create an
> object that I is callable. The following is my attempt, but it
> doesn't work:
> class SomeClass:
> def __init__(self):
> self.countdown = Countdown()
> self.countdown.SetCallback(30, lambda s=self: s.Callback)
The error is in this line. Should be s.Callback().
As it is, your lambda is a function that returns a function object,
rather than calling it as you apparently intend.
> # I have also tried 'lambda: self.Callback'
> self.done = False
David Eppstein http://www.ics.uci.edu/~eppstein/
Univ. of California, Irvine, School of Information & Computer Science
More information about the Python-list