Python3 isinstance() 函数

isinstance() 是一个内置函数,用于检查对象是否是指定类型或其派生类型的实例。这个函数在处理多种数据类型时非常有用,尤其是在编写面向对象的代码时。

基本用法

isinstance(object, classinfo) 接受两个参数:第一个是需要检查的对象,第二个是要检查的类型或类型元组。

在这个例子中,我们检查变量 x 是否是一个字符串类型,结果为 True

类型和元组

除了单一类型之外,还可以使用类型元组来检查对象是否属于其中的任何一种类型。

这里,我们检查变量 x 是否是字符串或整数类型,结果为 True

检查自定义类的实例

对于用户自定义的类,同样可以使用 isinstance() 来检查实例。

这段代码创建了一个名为 MyClass 的新类,并实例化了一个对象 obj。通过 isinstance() 函数验证 obj 是否是 MyClass 的实例,结果为 True

多层次继承

isinstance() 函数也可以用于多层次的继承关系。如果子类继承自父类,那么该子类的实例也会被认为是父类的实例。

-- -------------------- ---- -------
- ----
----- -------
    ----

----- --------------
    ----

--------- - -------
--------------------------- --------  - --- ----

在这个例子中,Child 类继承了 Parent 类。当检查 Child 类的实例 child_obj 是否是 Parent 类的实例时,结果为 True

检查多个基类

如果一个类继承自多个基类,isinstance() 仍然可以正确地工作。

-- -------------------- ---- -------
- ----
----- ------
    ----

----- ------
    ----

----- ---------------- -------
    ----

--------- - -----------
--------------------------- -------  - --- ----
--------------------------- -------  - --- ----

在这个例子中,MultiBase 类同时继承自 Base1Base2 类。当检查 MultiBase 类的实例 multi_obj 是否是这两个基类的实例时,结果均为 True

检查类型对象

isinstance() 不仅可以用于检查具体的类型,还可以用于检查类型对象本身。

在这里,我们首先获取整数类型 int 的类型对象 int_type,然后检查它是否是 type 类型的实例,结果为 True

总结

isinstance() 函数是 Python 中非常强大的工具,适用于各种场景,包括检查单个类型、类型元组、自定义类的实例以及多级继承等。掌握它的使用方法能够大大提高代码的可读性和灵活性。

上一篇: Python3 exec() 函数
下一篇: Python3 ord() 函数
纠错
反馈