095 issubclass和isinstance

目录

  • 一、isinstance(obj, cls)
  • 二、issubclass(sub,super)

一、isinstance(obj, cls)

判断第一个参数是不是第二个参数的对象,返回true或者false

class Foo:
    pass
class Bar(Foo):
    pass

f=Foo()
print(isinstance(f,Foo))

# 子类对象也是父类中的对象
print(isinstance(Bar(),Foo))

True
True

二、issubclass(sub,super)

判断第一个类是不是第二个类的子类,返回true或者false

class Foo:
    pass
class Bar(Foo):
    pass

# 当前类的父类
print(Bar.__bases__)
# 是否是第二个的子类
print(issubclass(Bar,Foo))

你可能感兴趣的:(095 issubclass和isinstance)