我正在尝试从之前的Class调用一个方法,用于我正在进行的Class I.这是一个模拟GPS系统,使用不同的类。我试图从这个方法获得的方法如下所示:
class GPS_POI:
def __init__(self, location, name , kind):
self.location= location
self.name = str(name)
self.kind = str(kind)
def __str__ (self):
return (str(self.location) + ": "+ self.name +", " + self.kind )
我正在处理的当前类和方法:
class GPS :
def __init__ (self, current, map = None):
self.current = current
self.map= map
self.route= []
def display_map(self):
for i in self.route:
display= GPS_POI()
return (display.__str__ + "\n")
当我运行它时,当我想要的输出(例如)时,我最终得到“无”的结果:
“(3,1):kmart,衣服\ n(2,3):汉堡王,食物\ n”等。
我是否需要将类GPS中的参数self.map包含到display_map函数中才能正常工作?关于从上一课调用方法我不理解的是什么?
答案 0 :(得分:1)
你没有打电话给__str__
;你只是引用它。无论如何,您不应该明确地致电str
。它的目的是在您尝试将对象视为字符串时提供钩子,例如将其作为参数传递给return str(display) + "\n"
时:
{{1}}