定义:isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()
如果要判断两个类型是否相同推荐使用 isinstance()
isinstance(object, classinfo)
参数
object -- 实例对象。classinfo -- 可以是直接或间接类名、基本类型或者有它们组成的元组。
>>>a = 2
>>>
isinstance (a,int)
True
>>>
isinstance (a,str)
False
>>> isinstance (a,(str,int,list))
# a是str或int或list返回true
True>>> isinstance({1:'a'},dict)True>>> isinstance({1,2},set)True
类的例子
type() 不会认为子类是一种父类类型,不考虑继承关系。
isinstance() 会认为子类是一种父类类型,考虑继承关系。
class A:
pass
class B(A):
pass
print type(A()),type(A())==
A
print isinstance(A(), A)
print isinstance(B(), A)
print type(B()),type(B()) ==
A
<type
'instance'>
False
True
True
<type
'instance'> False
转载于:https://www.cnblogs.com/facexiaoxi/p/8891224.html