1
Pythons documentation say:比较类型的泛型类型的对象
例如,下面的两个语句创建相同类型的对象:
>>> class X:
... a = 1
...
>>> X = type('X', (object,), dict(a=1))
我测试了以下code声明:
class X:
a = 1
foo = X()
X = type('X', (object,), dict(a=1))
Y = type('X', (object,), dict(a=1))
bar = X()
bar2 = X()
foobar = Y()
print(type(foo) is type(bar)) # False
print(type(bar) is type(bar2)) # True
print(type(bar) is type(foobar)) # False
正如你所看到的,物体o f这些类不相等。是否有任何其他可能的比较来评估这些相同的类为True?
他们创建等价类型的对象,但不同的对象。如果你使用两次相同的方法,与“is”相比,它们也会有所不同。 – L3viathan