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
posted @ 2019-11-29 09:42  格桑_哈哈  阅读(178)  评论(0编辑  收藏  举报