I want to create a wrapper function something like the following:
def functionWrapper(function, **kwargs):
    """
        This function requires as input a function and a dictionary of named arguments for that function.
    """
    results=function(**kwargs)
        print results
def multiply(multiplicand1=0, multiplicand2=0):
    return multiplicand1*multiplicand2
def main():
    functionWrapper(
        multiply,
        {
            'multiplicand1': 3,
            'multiplicand2': 4,
        }
    )
if __name__ == "__main__":
    main()
I am running into difficulties with this implementation:
TypeError: functionWrapper() takes exactly 1 argument (2 given)
How should I address this problem? Is my use of the arbitrary function in the wrapper function function(**kwargs) reasonable? Thanks for your help.
EDIT: fixed error in specification of dictionary
 
     
     
     
    