On 12/10/2011 7:14 PM, Terry Reedy wrote:
On 12/10/2011 3:47 PM, Roy Smith wrote:

What I really want to do is:

def function(self):

Add a global statement to rebind a global name:
global logger

But I see that that is not what you want to do, which is to override the global name just within the function while still accessing the global name. MRAB's solution does that nicely.

logger = logger.getChild('function')
logger.debug('stuff')
logger.debug('other stuff')

which lets me not have to change any lines of code other than inserting
the one to redefine logger. Unfortunately, that's not legal Python (it
leads to "UnboundLocalError: local variable 'logger' referenced before
assignment").

Any ideas on the best way to implement this?




--
Terry Jan Reedy

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to