In article <mailman.3530.1352538537.27098.python-l...@python.org>, Peter Otten <__pete...@web.de> 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 (a...@pythoncraft.com) <*> http://www.pythoncraft.com/ "....Normal is what cuts off your sixth finger and your tail..." --Siobhan -- http://mail.python.org/mailman/listinfo/python-list