Si estoy creando mi propia clase en Python, qué función debería definir para permitir el uso del operador 'in', por ejemplo
class MyClass(object):
...
m = MyClass()
if 54 in m:
...
python
operator-overloading
operators
in-operator
astrofrog
fuente
fuente

isyis not. Como aquery = tinydb.Query().field == value, también poder escribirQuery().field is not None. Pero parece que me quedo con__eq__y__ne__por el momento, lo que lleva a lo poco pitónicoQuery().field != None. (sarc)Respuestas:
MyClass.__contains__(self, item)fuente
Una respuesta más completa es:
Aquí obtendría True al preguntar si 54 estaba en m:
Ver documentación sobre sobrecarga
__contains__.fuente
También es posible que desee echar un vistazo a un marco de anulación de operador infijo que pude usar para crear un lenguaje específico de dominio:
http://code.activestate.com/recipes/384122/
fuente