def func(*args): args = list(args) # Replace string or Expression arguments by symbols. # Used symbols and corresponding expressions are returned. args, symargs, expargs = replace_arguments(args, replacer='symbol') # create lambda function of symbolic result of the given function lambda_function = lambdify(symargs, function(*args), modules=Expression) # evaluate expression and ensure type of result is Expression expression = lambda_function(*expargs) if type(expression) not in (list, str, unicode, Expression): expression = Expression(expression) return expression
def func(*args): args = list(args) # replace string arguments by values of type Expression args, _, _ = replace_arguments(args, replacer='expression') # evaluate expression expression = function(*args) # concacate expression lists if type(expression) is list: expression = ';'.join(map(str, expression)) # create values of type expression, if neccessary elif type(expression) not in (str, unicode, Expression): expression = Expression(expression) return expression