object() == object() 是否保证为 False?

Is object() == object() guaranteed to be False?

假设我创建了 class object 的两个实例。这两个实例是否保证彼此不相等?换句话说,是 object() == object() 保证是 False,还是取决于实现?

我知道object() is object()肯定是False,但是我这里问的是object() == object()

是的,保证 object() == object()False 因为它是 documented,“默认情况下,object 通过使用 [=14] 实现 __eq__() =]".

每个 Python 3.x 版本都旨在 backward-compatible 与以前的 3.x 版本。由于它是基础 class,因此更改 object 的比较行为会破坏此向后兼容性承诺。所以我认为你可以依赖它,但如果我们知道你正在尝试做的事情需要这个不变量,我们可能会提供更好的建议。

您可以随时使用 assert 来确保它继续为真。