| Exec these strings (to bring the variables into play) right before
the formula is evaluated
class StringFunction_v3:
def __init__(self, expression, independent_variable='x',
set_parameters=''):
self._f_compiled = compile(expression,
'<string>', 'eval')
self._var = independent_variable # 'x', 't' etc.
self._code = set_parameters
def set_parameters(self, code):
self._code = code
def __call__(self, x):
exec '%s = %g' % (self._var, x) # assign indep. var.
if self._code: exec(self._code) # parameters?
return eval(self._f_compiled)
|