Is there a simpler way to modify all arguments in a function before using the arguments?

Miki Tebeka miki.tebeka at gmail.com
Sat Nov 10 05:17:08 CET 2012


> 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)


More information about the Python-list mailing list