示例#1
0
    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
示例#2
0
    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