Pythonで独自のクラスを作成する場合、「in」演算子の使用を許可するために、どの関数を定義する必要がありますか。
class MyClass(object):
...
m = MyClass()
if 54 in m:
...
より完全な答えは次のとおりです。
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
また、ドメイン固有の言語を作成するために使用できた中置演算子オーバーライドフレームワークを確認することもできます。