How does one use a decorator to return a given function with all of its arguments modified if the number of arguments is arbitrarily long? I'm tasked with capitalizing all arguments in an input function to a decorator and I can't figure out how to pass an infinite amount of new arguments back into the function.
I'm trying this in theory:
def allCaps(func):  
    def ret(*args):  
        return func(*args.upper())
    return ret  
but you can't mod a tuple so it doesn't work correctly
 
     
    