python基础-内置函数 isinstance() 与 issubclass()
面向对象编程之内置函数 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