是否可以直接从函数实现输出数学函数?
class MyFunction:
def __init__(self, func):
self.func = func
def math_representation(self):
# returns a string representation of self.func
f = lambda x: 3*x**2
myFunc = MyFunction(f)
print(myFunc.math_reprentation()) #prints something like 3*x**2
我也可以用代表数算的对象构建函数,但想法是在常规 (lambda) 函数上进行。
我真的没有看到这种情况发生的方式,但我很好奇。感谢您的任何帮助和建议
正如我所说,你可以使用SymPy如果你想这是更复杂的,但对于简单的功能(和可信输入),你可以做这样的事情:
class MathFunction(object):
def __init__(self, code):
self.code = code
self._func = eval("lambda x: " + code)
def __call__(self, arg):
return self._func(arg)
def __repr__(self):
return "f(x) = " + self.code
你可以像这样使用它:
>>> sq = MathFunction("x**2")
>>> sq
f(x) = x**2
>>> sq(7)
49
这是一个有点限制,当然(只使用名为“X”的变量,只有一个参数),但它可以,当然,扩展。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(71条)