in
Python で独自のクラスを作成している場合、演算子を使用できるようにするには、どの関数を定義する必要がありますか。
class MyClass(object):
...
m = MyClass()
if 54 in m:
...
in
Python で独自のクラスを作成している場合、演算子を使用できるようにするには、どの関数を定義する必要がありますか。
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
True
54 が にあるかどうかを尋ねると、次のようになりますm
。
>>> m = MyClass()
>>> 54 in m
True
オーバーロードに関するドキュメントを__contains__
参照してください。
また、ドメイン固有言語を作成するために使用できた中置演算子オーバーライド フレームワークも参照してください。