我试图使用TitleTrigger
的父类WordTrigger
的方法is_word_in()
,但我得到一个is_word_is
的NameError
没有定义。 我觉得我错过了一个关键的继承概念,我该怎么纠正这个?
class NewsStory(object):
def __init__(self, guid, title, subject, summary, link):
self.guid = guid
self.title = title
self.subject = subject
self.summary = summary
self.link = link
def get_guid(self):
return self.guid
def get_title(self):
return self.title
def get_subject(self):
return self.subject
def get_summary(self):
return self.summary
def get_link(self):
return self.link
class WordTrigger(Trigger):
def __init__(self, word):
self.word = word.lower()
def is_word_in(self, text):
words = text.split(' ')
for word in words:
word.strip(string.punctuation).lower()
if self.word == word:
return True
return False
class TitleTrigger(WordTrigger):
def __init__(self, word):
WordTrigger.__init__(self, word)
def evaluate(self, story):
self.title = story.get_title()
if is_word_in(self.title):
return True
return False
trigger = TitleTrigger('Soft')
trigger.evaluate(NewsStory('', 'I prefer pillows that are soft.', '', '', ''))