我正试图从以前的class中为我当前正在处理的class调用一个方法。这是一个模拟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函数中才能正常工作吗?关于从以前的类中调用方法,我有什么不理解的地方?
您没有调用display.__str__
;您只是在引用它。无论如何都不应该显式调用__str__
。它的目的是在尝试将对象视为字符串时,例如将其作为参数传递给str
时,提供一个钩子:
return str(display) + "n"