local variable referenced before assignment
John Nagle
nagle at animats.com
Mon Apr 5 13:08:51 EDT 2010
Alf P. Steinbach wrote:
> Best is however to recognize that you have some state (your variable)
> and some operations on that state (your callback), and that that is what
> objects are all about. I.e. wrap your logic in a class. Then
> 'lastModifiedTime' becomes an instance attribute, and 'handler' becomes
> a method.
>
> It doesn't matter that there will only ever be one object (instance) of
> that class.
>
> Classes were meant for just this sort of thing, state + operations.
Yes. Functions with persistent state are generally a bad idea.
Unfortunately, the "signal" module requires a callback parameter
which is a plain function. So you have to send it a function,
closure, or lambda. Here, it's being sent a closure - "handler"
bound to the state that existed when "signal.signal" was called.
John Nagle
More information about the Python-list
mailing list