如果我在 Python 中创建自己的类,我应该定义什么函数以允许使用in
运算符,例如
class MyClass(object):
...
m = MyClass()
if 54 in m:
...
如果我在 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
True
当询问 54 是否在时,您会在这里得到m
:
>>> m = MyClass()
>>> 54 in m
True
您可能还想查看一个中缀运算符覆盖框架,我可以使用它来创建特定于域的语言: