gpt4 book ai didi

python - 比较python中两个动态创建的类类型

转载 作者:太空狗 更新时间:2023-10-30 02:31:18 24 4
gpt4 key购买 nike

这类似于 another question但在这种情况下,我想了解两个相同但动态创建的类类型之间的类型比较。

考虑这个 SO question 中的一个例子:

class SecretBaseClass(object):
pass

class Class(object):
pass

ClassType1 = type(Class.__name__, (SecretBaseClass,), dict(Class.__dict__))
ClassType2 = type(Class.__name__, (SecretBaseClass,), dict(Class.__dict__))

如果我这样做:

print ClassType1 == ClassType2

我的结果是错误的。

我知道我创造了两种不同的类型,但对人类来说它们是相同的。比较运算符在什么级别识别差异?

最佳答案

如果你没有定义比较魔术方法 __eq__a == b 的默认行为是 id(a) == id(b ),即 它们是同一个对象吗。在这种情况下,它们不是;它们是两个独立的 type 对象。

关于python - 比较python中两个动态创建的类类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23014752/

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