isinstance是Python的一个内建函数
语法:
1
|
isinstance
(
object
,classinfo)
|
如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例,返回True。如果object不是一个给定类型的对象,则返回结果是False
如果classinfo不表示一个类(类型对象),那么它要么是一个类的元组,或者递归地包含这样的(由数据类型构成的)元组,其它的序列类型是不被允许的。
如果classinfo不是一种数据类型或者由数据类型构成的元组,将引发一个TypeError异常。
应用:
1
2
3
4
5
6
7
8
9
10
11
|
class
ObjB:
pass
A
=
'a'
,
'v'
B
=
ObjB()
print
(
isinstance
(
1
,
int
))
# True
print
(
isinstance
(
'a'
,
str
))
# True
print
(
isinstance
(
1.0
,
float
))
# True
print
(
isinstance
(A,
tuple
))
# True
print
(
isinstance
(B,ObjB))
# True
print
(
isinstance
(
'a'
,(
str
,
int
,
float
)))
# True
print
(
isinstance
(
'a'
,
'b'
))
# 抛出异常TypeError: isinstance() arg 2 must be a type or tuple of types
|