Answers:
一个更完整的答案是:
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__
暂时,这导致了unpythonicQuery().field != None
。(sarc)