在python类中的_str__函数内调用方法
在python类中的_str__函数内调用方法,python,function,class,methods,Python,Function,Class,Methods,“List”对象没有属性“points”是我遇到的错误。我想我没有在\uu str\uu函数中正确调用点,但不知道如何修复它。之前,我在\uuuu str\uuuuu之前定义了点,并且有相同的错误 class Persons(object): def __init__(self,name,radius,home_universe,x,y,dx,dy,current_universe,rewards): self.name = name self.rad
“List”对象没有属性“points”
是我遇到的错误。我想我没有在\uu str\uu
函数中正确调用点
,但不知道如何修复它。之前,我在\uuuu str\uuuuu
之前定义了点,并且有相同的错误
class Persons(object):
def __init__(self,name,radius,home_universe,x,y,dx,dy,current_universe,rewards):
self.name = name
self.radius = radius
self.home_universe = home_universe
self.x = x
self.y = y
self.dx = dx
self.dy = dy
self.current_universe = current_universe
self.rewards = rewards
def __str__(self):
return '{} of {} in universe {}\n at ({},{}) speed ({},{}) with {} rewards and {} points'.\
format(self.name, self.home_universe, self.current_universe, self.x, self.y, self.dx,\
self.dy, len(self.rewards), self.rewards.points())
def points(self):
cnt = 0
if len(self.rewards) == 0:
return 0
else:
for reward in self.rewards:
cnt += reward[2]
return cnt
您使用的是self.rewards.points()
,但您只有self.points()
使用self.points()
什么是self.rewards
?如果您只有self.points()
,为什么要使用self.rewards.points()
?请使用按钮{}
正确设置代码格式。始终将完整的错误消息(回溯)放在问题中(作为文本,而不是屏幕截图)。还有其他有用的信息。您正在调用self.rewards.points()
。错误消息表明self.rewards
是一个列表
,它没有积分
属性。也许你的意思是@furas建议的self.points()
?