在我的在线python课程中,我遇到了这个问题:
实现一个单词触发器抽象类,WordTrigger.它应该将一个字符串单词作为类的构造函数的参数.
这是作为解决方案发布的:
class WordTrigger(Trigger):
def __init__(self, word):
self.word = word
def isWordIn(self, text):
import string
for letter in text:
if letter in string.punctuation:
text = text.replace(letter, ' ', 1)
text = text.lower()
wordlist = text.split(' ')
if self.word.lower() in wordlist:
return True
return False
# TODO: TitleTrigger
class TitleTrigger(WordTrigger):
def evaluate(self, story):
return self.isWordIn(story.getTitle())
# TODO: SubjectTrigger
class SubjectTrigger(WordTrigger):
def evaluate(self, story):
return self.isWordIn(story.getSubject())
Run Code Online (Sandbox Code Playgroud)
我对抽象类的理解是抽象类是一个特殊的类,我们在其中定义要在没有任何实现的情况下使用的方法,因此当我们实例化一个对象并尝试访问该方法时,它不会给你带来任何实现错误.
如何是WordTrigger一个抽象类?