2016-04-28 66 views
-1

我想從我以前正在處理的類的前一個類中調用一個方法。這是一個模擬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,clothes \ n(2,3):漢堡王,食物\ n」等。

我需要從cl中包含我的參數self.map屁股全球定位系統到display_map函數爲它正常工作?我從以前的課程中調用某種方法時不理解什麼?

回答

1

您未撥打display.__str__;你只是參考它。無論如何你都不應該打電話給__str__。其目的是爲當您試圖把對象作爲字符串,鉤等將它傳遞給str作爲參數時,如:

return str(display) + "\n" 
+0

哦好吧,這是有道理的。我將代碼中的內容替換爲返回str(display)+「\ n」,並且仍然得到「None」的輸出。任何想法,爲什麼這可能是我的情況? – Nick