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:
iseis 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)