从上一个类调用方法



我正试图从以前的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"

最新更新