如果我在Python中创建自己的类,我应该定义什么函数以允许使用'in'运算符,例如
class MyClass(object):
...
m = MyClass()
if 54 in m:
...
答案 0 :(得分:210)
答案 1 :(得分:161)
更完整的答案是:
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
答案 2 :(得分:7)
您可能还想查看我能够用来创建特定于域的语言的中缀运算符覆盖框架: