Für Softwareentwickler ist der Ausdruck “python string contains” der Oberbegriff für den Vergleich verschiedener Werte mithilfe der Sprache Python. Wie also prüft man, ob ein Python String bestimmte Inhalte enthält?
Vergleich von Inhalten und Ausdrücken
Eine Standardaufgabe in der Programmierung ist es, Inhalte und Ausdrücke zu vergleichen. Ein Beispiel wäre etwa die Suche in einer Adressdatenbank nach einem bestimmten Ausdruck.
Einige Sprachen bieten dazu eine contains-Methode; So kann man mit
string.contains("Suchtext")
prüfen, ob eine Zeichenkette (=string) einen Suchtext enthält. In Python klappt das so jedoch nicht – wir zeigen, wie Sie trotzdem zum Ziel kommen.
Gibt es in Python “string contains”?
Python bietet keine direkte contains-Methode. Doch die Sprache verfügt über ähnliche Werkzeuge, sodass sich ein python string contains mit entsprechender Syntax direkt aufrufen lässt.
Direkter Aufruf mit dem “in“ Operator
Ein direkter Vergleich von mehreren Werten wird mit dem „in“-Statement vorgenommen.
Dies ist die einfachste und meist beste Methode, die Python für die Umsetzung des python string contains vorgibt. Das Resultat eines Vergleichs ist ein Boolean. Dies bedeutet, dass als Ergebnis eines Vergleichs mithilfe von „in“ eine Null oder Eins zurückgegeben wird, bzw. ein „True“ oder „False“.
Als Beispiel wollen wir sehen, ob ein Wert ein bestimmtes Wort enthält- hier den Namen Maier in der Schreibweise mit ai:
if “Maier“ in “Hans Maier, Musterstraße 127, Musterhausen“:
print(“existiert“)
Else:
print(“kein Maier zu Hause“)

Der Vergleich erfolgt „case-sensitiv“, was bedeutet, dass Groß/Kleinschreibung der Buchstaben berücksichtigt wird. Der Vorteil des “in“ Operators in einer python string contains Vergleichssituation ist die Einfachheit. Somit ist der notwendige Programmcode schlank und überschaubar.
Komplexere Operationen und Vergleiche größerer Daten
Für komplexere Operationen sind die Befehle index() und find() nutzbar. Mit diesen grenzt man Bereiche der zu vergleichenden Daten ein.
Ein weiterer Unterschied ist die sogenannte Exception, die signalisiert wird, wenn sich der zu vergleichende Ausdruck nicht finden lässt. Exceptions sind standardisierte Mechanismen, die anderen Programmteilen signalisieren, dass etwas nicht funktioniert hat und erlaubt damit die einfache Weiterverarbeitbarkeit von Zuständen an anderer Stelle.
Beispiel:
txt = “Hello and welcome!“
x = txt.index("e", 5, 10)
print(x)
Der Code gibt unter anderem die Position des gefundenen Buchstabens zurück.
Eine Exception wird generiert, wenn nichts zu finden ist. Dieser Mechanismus signalisiert Fehler, wenn ein Programm in einzelne Module unterteilt sind.
In Abwandlung zu index() generiert find() im Fehlerfall keine Exception als Signal, sondern liefert als Wert -1 zurück. Der Programmierer entscheidet dann im aufrufenden Modul, wie diese Information weiterverarbeitet wird.
__contains__ als private Prozedur
Python bietet die Möglichkeit, __contains__ als private Prozedur verwenden. So können andere Programmteile das Ergebnis in Methoden weiterverwenden.
Die Umsetzung des Aufrufs erfolgt semantisch deutlich anders:
str1 = “Beispiel“
str2 = “spiel“
val = str1.__contains__(str2)
Print(val)

Als Rückgabe wird ein Boolean (TRUE oder FALSE) zurückgegeben, die dann im weiteren Programm entsprechende Aktionen auslösen. Weitere Details hat dieser englischsprachige Artikel.
Fazit: python string contains
In Python ist es problemlos möglich, Text in Strings zu suchen und somit eine “contains”-Methode zu simulieren.
Dabei läuft eine Suche mit “in“ deutlich schneller ab als alternative Methoden (bis zur doppelten Geschwindigkeit).
Somit sollten die weiteren Methoden nur in Fällen benutzt werden, in denen deren Eigenschaften benötigt werden.