Wenn ich meine eigene Klasse in Python erstelle, welche Funktion sollte ich definieren, um die Verwendung des Operators 'in' zu ermöglichen, z.
class MyClass(object):
...
m = MyClass()
if 54 in m:
...
Eine vollständigere Antwort lautet:
class MyClass(object):
def __init__(self):
self.numbers = [1,2,3,4,54]
def __contains__(self, key):
return key in self.numbers
Hier würden Sie True erhalten, wenn Sie gefragt würden, ob 54 in m wäre:
>>> m = MyClass()
>>> 54 in m
True
Vielleicht möchten Sie auch einen Blick auf ein Framework zum Überschreiben von Infix-Operatoren werfen, mit dem ich eine domänenspezifische Sprache erstellen konnte: