首页 > 解决方案 > `isinstance(x, y)` 和 `x.__class__ == y` 之间的区别

问题描述

我熟悉和之间的区别type(x)但如果这两种检查是否是字典的x.__class__方法之间有任何区别,则找不到问题的答案:x

isinstance(x, dict)

x.__class__ == dict

到目前为止,根据我的经验,两者可以互换使用,但我想知道是否存在结果不同的情况,从而导致对两者之一的偏好。

编辑: alaniwi 给出了接受的答案,isinstance()如果对象是所测试的类的子类的实例,则该答案也返回 True。

标签: python

解决方案


推荐阅读