gpt4 book ai didi

python - "if x in self:"是什么意思?

转载 作者:行者123 更新时间:2023-12-03 19:57:26 24 4
gpt4 key购买 nike

所以我在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com