Ich habe Schwierigkeiten, einen Teil des Codes zu verstehen, der Teil eines größeren Problemsatzes ist. Der Code ist wie folgt (Beachten Sie, dass WordTrigger
eine Unterklasse von Trigger
ist):
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
Also erledigt Zeile 5 die Aufgabe, den Text von Satzzeichen zu befreien und ihn in Kleinbuchstaben umzuwandeln. Die Methode string.split(" ")
erstellt eine Liste aller Wörter im Text, trennt sie auf und fügt Leerzeichen dazwischen ein. Die for-Schleife überprüft, ob das 'Wort' im 'Text' vorhanden ist. Erkennt es also die Variable 'Wort' aus dem Konstruktor?
Macht self.word.lower()
das Wort, das im Konstruktor initialisiert wurde, komplett in Kleinbuchstaben? Und stellt die 'if'-Bedingung in der 'for'-Schleife sicher, dass die Suche nach 'Warnung' Wörtern keine Wörter mit Apostrophen ausschließt?