Se estou criando minha própria classe em Python, que função devo definir para permitir o uso do operador 'in', por exemplo
class MyClass(object):
...
m = MyClass()
if 54 in m:
...
python
operator-overloading
operators
in-operator
astrofrog
fonte
fonte
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)Respostas:
MyClass.__contains__(self, item)
fonte
Uma resposta mais completa é:
Aqui você obteria True ao perguntar se 54 estava em m:
Consulte a documentação sobre sobrecarga
__contains__
.fonte
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:
http://code.activestate.com/recipes/384122/
fonte