我正在努力理解属于更大问题集的一段代码。代码如下(注意WordTrigger
是 的子类Trigger
):
class WordTrigger(Trigger):
def __init__(self,word):
self.word=word
def isWordin(self, text):
text = [a.strip(string.punctuation).lower() for a in text.split(" ")]
for word in text:
if self.word.lower() in word.split("'"):
return True
return False
所以第 5 行完成了去除标点符号文本并将其变为小写的工作。这string.split(" ")
方法创建文本中所有单词的列表,将它们拆分并在其间插入空格。for 语句检查“单词”是否在“文本”中。那么它是否从构造函数中识别出变量“单词”?
是否self.word.lower()
使构造函数初始化的单词全部小写?'for'循环中的'if'条件是否确保搜索'alert'单词不会排除带有撇号的单词?