Python isinstance() 函数
Python 内置的 isinstance() 函数可以判断一个对象是否是一个已知的类型,类似 type()
isinstance() 与 type() 区别
- type() 不会认为子类是一种父类类型,不考虑继承关系
- isinstance() 会认为子类是一种父类类型,考虑继承关系
如果要判断一个对象是否是一个类的实例,请使用 isinstance()
语法
isinstance(object, classinfo)
参数
参数 | 说明 |
---|---|
object | 实例对象 |
classinfo | 可以是直接或间接类名、基本类型或者有它们组成的元组 |
返回值
如果对象的类型与参数二的类型 ( classinfo ) 相同则返回 True,否则返回 False
范例
下面的代码演示了 isinstance 函数的简单使用
>>>a = 2 >>> isinstance (a,int) True >>> isinstance (a,str) False >>> isinstance (a,(str,int,list)) # 是元组中的一个返回 True True
type() 与 isinstance()区别
class A: pass class B(A): pass isinstance(A(), A) # 返回 True type(A()) == A # 返回 True isinstance(B(), A) # 返回 True type(B()) == A # 返回 False