文章目录
引言
- 引言
- 用法
- type
- 描述
- 语法
- 参数
- 实例
- isinstance
- 描述
- 语法
- 参数
- 实例
- 区别
- 参考
本文讲解 Python 中的类 type 与 函数 isinstance 的用法与区别。
用法 type 描述返回对象类型。
语法class type(object)
参数- object:对象
>>> a = 1
>>> type(a)
>>> b = '1'
>>> type(b)
isinstance
描述
判断一个对象是否是某一类的实例。如果是,返回 True
;否则,返回 False
。
isinstance(object, classinfo)
参数- object:对象
- classinfo:类名或类名组成的元组
>>> a = 1
>>> isinstance(a, int)
True
>>> isinstance(a, str)
False
>>> isinstance(a, (int, str)) # 只要元组中能找到就返回 True
True
区别
- 类 type:返回对象的类型
- 函数 isinstance:判断一个对象是否属于某一类
值得注意的是:type 返回的是对象的直接类型,不考虑类的继承关系;而 isinstance 在做判断时会考虑类的继承关系,子类和父类会被归为一类。
>>> class A:
... pass
...
>>> class B(A):
... pass
...
>>> type(B()) == A
False
>>> isinstance(B(), A)
True
参考
https://docs.python.org/3/library/functions.html#type https://docs.python.org/3/library/functions.html#isinstance