python isinstance用法小结。

定义: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

 

posted @ 2018-04-20 15:43  酱测  阅读(348)  评论(0编辑  收藏  举报