In article <[email protected]>, Peter Otten <[email protected]> wrote: >Miki Tebeka wrote: > >>> Is there a simpler way to modify all arguments in a function before using >>> the arguments? >> >> You can use a decorator: >> >> from functools import wraps >> >> def fix_args(fn): >> @wraps(fn) >> def wrapper(*args): >> args = (arg.replace('_', '') for arg in args) >> return fn(*args) >> >> return wrapper >> >> @fix_args >> def foo(x, y): >> print(x) >> print(y) > >I was tempted to post that myself, but he said /simpler/ ;)
>From my POV, that *is* simpler. When you change the parameters for foo, you don't need to change the arg pre-processing. Also allows code reuse, probably any program needing this kind of processing once will need it again. -- Aahz ([email protected]) <*> http://www.pythoncraft.com/ "....Normal is what cuts off your sixth finger and your tail..." --Siobhan -- http://mail.python.org/mailman/listinfo/python-list
