Risposte:
Una risposta più completa è:
class MyClass(object):
def __init__(self):
self.numbers = [1,2,3,4,54]
def __contains__(self, key):
return key in self.numbers
Qui potresti ottenere True quando chiedi se 54 fosse in m:
>>> m = MyClass()
>>> 54 in m
True
Vedere la documentazione sul sovraccarico__contains__
.
Potresti anche dare un'occhiata a un framework di override dell'operatore infix che sono stato in grado di utilizzare per creare un linguaggio specifico del dominio:
is
eis not
. Come unquery = tinydb.Query().field == value
, anche essere in grado di scrivereQuery().field is not None
. Ma sembra che mi rimanga con__eq__
e__ne__
per il momento, il che porta al non ritmicoQuery().field != None
. (sarc)