私のオンライン 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())
抽象クラスについての私の理解は、抽象クラスは、実装なしで使用されるメソッドを定義する特別なクラスであるため、オブジェクトをインスタンス化してメソッドにアクセスしようとすると、実装エラーは発生しません。
WordTrigger
抽象クラスはどうですか?