
Code:
class StringFunction_v4:
def __init__(self, expression, **kwargs):
self._f_compiled = compile(expression,
'<string>', 'eval')
self._var = kwargs.get('independent_variable', 'x')
self._prms = kwargs
try: del self._prms['independent_variable']
except: pass
def set_parameters(self, **kwargs):
self._prms.update(kwargs)
def __call__(self, x):
self._prms[self._var] = x
return eval(self._f_compiled, globals(), self._prms)
|