回答:
より完全な答えは:
class MyClass(object):
def __init__(self):
self.numbers = [1,2,3,4,54]
def __contains__(self, key):
return key in self.numbers
ここでは、54がmであるかどうかを尋ねるとTrueになります。
>>> m = MyClass()
>>> 54 in m
True
また、ドメイン固有の言語を作成するために使用できた中置演算子オーバーライドフレームワークを確認することもできます。
is
andis not
演算子をオーバーライドする方法を探していました。のようにquery = tinydb.Query().field == value
、また書くことができるようにQuery().field is not None
。しかし、私が残されてるようだ__eq__
と__ne__
unpythonicに、当面そのリードをQuery().field != None
。(sarc)