我有以下代码:
class Quadratic:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def function(self, x):
self.F(x) = a*(x**2) + b*x + c
return F(x)
def table(self, lower, upper, varz):
inc = np.absolute(upper-lower) / varz
print inc
for i in range(0 , varz - 1):
self.F(lower)
lower = lower + inc
#lower bound,upper bound, number of values
def roots():
x1 = (-b + math.sqrt(b**2 - 4*a*c)) / (2*a)
x2 = (-b - math.sqrt(b**2 - 4*a*c)) / (2*a)
return x1, x2
def dump(self):
print self.n
每当我尝试运行此脚本时,我都会得到以下内容:
line 15
self.F(x) = a*(x**2) + b*x + c
SyntaxError: can't assign to function call
非常感谢任何帮助或想法。
答案 0 :(得分:2)
目前尚不清楚(至少对我来说)你想要实现的目标,但也许就是这样简单:
def F(self, x):
return self.a * (x ** 2) + self.b * x + c
答案 1 :(得分:1)
正如您可能已经猜到的那样,F(x)
是一个函数调用。你正在调用实际上不存在的函数F
,并将参数x
传递给它,它实际上也不存在。您需要为变量提供合法的名称,例如f_of_x
。
答案 2 :(得分:1)
尝试:
def __init__(self, a,b,c):
self.a = a
self.b = b
self.c = c
self.F = lambda x: a*(x**2)+b*x+c
并丢弃function()方法