Respostas:
Uma resposta mais completa é:
class MyClass(object):
def __init__(self):
self.numbers = [1,2,3,4,54]
def __contains__(self, key):
return key in self.numbers
Aqui você obteria True ao perguntar se 54 estava em m:
>>> m = MyClass()
>>> 54 in m
True
Consulte a documentação sobre sobrecarga__contains__
.
Você também pode dar uma olhada em uma estrutura de substituição de operador de infixo que eu pude usar para criar uma linguagem específica de domínio:
is
eis not
operadores. Como umquery = tinydb.Query().field == value
, também poder escreverQuery().field is not None
. Mas parece que me resta__eq__
e__ne__
por enquanto, o que leva ao não-tônicoQuery().field != None
. (sarc)