我在Python中有一个成员方法,其中包含以下代码片段:
def foo(self, param):
x = self._as_array(param)
if x in self:
raise KeyError('Data point {} is not unique'.format(x))
这里的
if x in self:
是什么意思?它没有引用任何成员方法。例如,if x in self._some_array
是有意义的,但是仅仅使用self
而没有引用应该表示什么?
self
实现了__contains__
,那么它可以在语句中以这种方式使用。请参阅Python数据模型中的此文档。 - John Szakmeister