python基础-内置函数 isinstance() 与 issubclass()

时间:2022-05-28 11:45:50

面向对象编程之内置函数 isinstance() 与 issubclass()

isinstance()判断一个对象是否是另一个类的实例。返回bool值,True表示是,False表示不是。

语法:isinstance(obj,cls)

class Demo:
def __init__(self, name):
self.name = name class Func:
def __init__(self, name):
self.name = name # 创建对象
demo = Demo("lee")
func = Func("haha") d_res = isinstance(demo, Demo)
print(f"demo是Demo的实例吗?结果:{d_res}") # 输出结果:demo是Demo的实例吗?结果:True
f_res = isinstance(func,Demo)
print(f"func是Demo的实例吗?结果:{f_res}") # 输出结果:func是Demo的实例吗?结果:False

issubclass()判断一个类是否是另一个类的子类。返回bool值,True表示是,False表示不是。

语法:issubclass(cls,clsinfo)

class Demo:
def __init__(self, name):
self.name = name class Func:
def __init__(self, name):
self.name = name class Test(Func):
def __init__(self, name, pwd):
super().name = name
self.pwd = pwd # 判断Test类是谁的子类
res_1 = issubclass(Test, Func)
print(f"Test是Func的子类吗?结果:{res_1}") # 输出结果:Test是Func的子类吗?结果:True
res_2 = issubclass(Test, Demo)
print(f"Test是Demo的子类吗?结果:{res_2}") # 输出结果:Test是Demo的子类吗?结果:False