【发布时间】:2015-07-28 13:39:31
【问题描述】:
我正在尝试使用来自TitleTrigger 的父类WordTrigger 的方法is_word_in(),但我得到一个NameError 说is_word_is 未定义。我觉得我错过了继承的一个关键概念,我该如何纠正这个问题?
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.', '', '', ''))
【问题讨论】:
标签: python class inheritance methods parent-child