面向对象(isinstance,issubclass)

isinstance()  
判断对象所属类型,包括继承关系
class A:
    pass
class B(A):
    pass
b=B()
print(isinstance(b,B))
print(isinstance(b,A))
True
True
class A(str):
    pass
a=A("asd")
print(a)
print(isinstance("asd",str))
print(type(a) is str)
asd
True
False

type:子类的对象,他的结果就是子类.不包含继承关系,只管一层

isinstance:包含所有的继承关系.

 

issubclass()

判断类与类之间的继承关系

 

class A:
    pass
class B(A):
    pass
print(issubclass(B,A))
print(issubclass(A,B))
True
False

 

posted @ 2018-07-30 20:02  chenyibai  阅读(211)  评论(0编辑  收藏  举报