isinstance() 判断所属类型,包括继承关系
issubclass() 判断类与类之间的继承关系
class A: pass class B(A): pass b = B() print(isinstance(b,B)) print(isinstance(b,A)) l = list() print(l) # [] print(type(l)) # <class 'list'> class mystr(str): pass ms = mystr("zhao") print(ms) # zhao print(type(ms) is str) # 不包继承关系,只管一层 print(isinstance("zhao",str)) # 包含所有的继承关系
== 值相等 值运算
is 内存地址相等 身份运算
is 要求更苛刻
#不仅要求值相等,还要求内存地址相同
a =111 b =111 print(a == b) print(a is b)
# issubclass() 判读类与类之间的继承关系 class A: pass class B(A): pass print(issubclass(B,A)) # 判断B类是不是继承A类 True print(issubclass(A,B)) # 判断A类是不是继承B类 False