他们的区别在于:type()不会认为子类是一种父类类型;isinstance()会认为子类是一种父类类型

class Foo(object):
    pass
 
class Bar(Foo):
    pass
 
print(type(Foo()) == Foo)#True
print(type(Bar())==Foo)#False
print(isinstance(Bar(),Foo))#True

issubclass

判断第一个参数是不是第二个的子类

class Parent:
    pass


class Sub(Parent):
    pass


print(issubclass(Sub, Parent))#True
print(issubclass(Parent,object))#True

相关文章:

  • 2021-06-20
  • 2022-02-15
  • 2021-11-25
  • 2022-12-23
  • 2021-06-14
  • 2021-09-17
  • 2021-08-16
  • 2022-12-23
猜你喜欢
  • 2021-08-01
  • 2021-05-29
  • 2022-01-17
  • 2022-01-01
  • 2021-07-30
  • 2022-02-05
相关资源
相似解决方案