Antworten:
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 wahr werden, wenn Sie fragen, ob 54 in m ist:
>>> m = MyClass()
>>> 54 in m
True
Vielleicht möchten Sie auch einen Blick auf ein Infix-Operator-Override-Framework werfen, mit dem ich eine domänenspezifische Sprache erstellen konnte:
is
und überschreibtis not
. Wie einquery = tinydb.Query().field == value
, um auch schreiben zu könnenQuery().field is not None
. Aber es scheint, ich bin mit__eq__
und__ne__
vorerst verlassen, was zur Unpythonie führtQuery().field != None
. (sarc)