
June 13, 2011
7:57 p.m.
On 6/13/2011 10:33 AM, Steven D'Aprano wrote:
def hook(*args): pass
def do_work(args): hook("doing spam") spam() hook("doing ham") ham()
Given the expense of function calls, I would write the above as hook = None def do(args): if hook: hook("doing spam") ... if __name__ == '__main__': if '--verbose' in sys.argv: wrap = inject(hook=print) I do not see the point of all this complication. If you are not trying to optimize the function (and adding such hooks is obviously not), hook = print works just fine (in 3.x ;-). -- Terry Jan Reedy