我不久前就开始学习Python并加入了,现在我第一次尝试学习Python类。我遇到了一个无法解决较长时间的问题,并出现错误:
AttributeError: 'TrainType' object has no attribute 'v'
代码如下:
import math
class TrainType(object):
def __init__(self,t,M,n,L,S,pas):
self.t = t # train model
self.M = M # train mass [t]
self.n = n # numer of axles [-]
self.L = L # train length [m]
self.S = S # crossection area [m2]
self.pas = pas # passenger capacity [-]
# Running resistance force formula
def run_res(self,v):
C = 0.0035*self.S+0.041*self.L/100+0.002;
R_L = 9.81*(1.3*math.sqrt(10*self.n/self.M)+0.01*self.v)*self.M+C*v**2
return R_L
# Power required formula
def power(self,v):
a = self.run_res(v)
P = a*v
return P
train1 = TrainType("Talgo 350",323,21,200,10,318)
print(train1.run_res(10)) # for test reasons v = 10
print(train1.power(10))
v是一个外部变量,它是class TrainType
方法中的一个参数
我搜索了这么多,发现解决方案与全局变量相关的线程很少,所以我尝试通过global v
或globals()['v']
解决它,但没有帮助:
SyntaxError: name 'v' is parameter and global.
提前谢谢
目前没有回答
相关问题 更多 >
编程相关推荐