classObserver(object):def__init__(self,subject):self.subject=subjectself.weather=self.subject.weatherself.subject.add_observer(self)defupdate(self,weather,temperature,tips):self.weather=weatherself.temperature=temperatureself.tips=tipsself.display()defdisplay(self):return("今日天氣:{}\n今日氣溫:{}\n今日建議:{}").format(self.weather,self.temperature,self.tips)classWeather(object):def__init__(self):self.observers=[]self.weather=""self.temperature=""self.tips=""defadd_observer(self,observer):self.observers.append(observer)defdelete_observer(self,observer):ifobserverinself.observers:self.observers.remove(observer)defnotify(self):forobserverinself.observers:observer.update(self.weather,self.temperature,self.tips)defadd_data(self,weather,temperature,tips):self.weather=weatherself.temperature=temperatureself.tips=tipsself.notify()ifname=='main':subject=Weather()observer=Observer(subject)subject.add_data('多云轉陰','10~23℃','請注意別感冒!')subject.add_observer('張三')subject.add_observer('李四')subject.add_observer('Ben')defPrint():ox=subject.observersforoinox:weather_data=observer.display()print("{}你好,以下是今日的天氣播報:\n{}\n").format(o,weather_data)Print()初學Python,在做觀察者模式的時候發現print會打印出多余的東西你好,以下是今日的天氣播報:今日天氣:多云轉陰今日氣溫:10~23℃今日建議:請注意別感冒!請問這是什么原因,以及解決之道
Python print 的時候出現<__main__.Observer object at 0x0224F3B0>
楊__羊羊
2019-04-10 20:49:00