所以我在 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
而没有任何引用应该意味着什么?
最佳答案
x in y
是与 Python data model 中的 __contains__
方法相关的 Python 语言功能。 .任何实现该方法的类都可以在这样的表达式中使用。
x in y
等价于
y.__contains__(x)
如果 __contains__
未实现但实例是可迭代的,Python 会将 x
与迭代器返回的每个值进行比较。
关于python - "if x in self:"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59067008/