Python isinstance函数用法详解:类型检查与继承关系

山海之间
山海之间
发布时间:2026-10-13| 4人浏览过
原创

本文详解Python中isinstance函数的用法,对比其与type函数的区别,重点说明isinstance在判断继承关系时的优势。通过具体代码示例展示如何校验参数类型及判断类继承关系,帮助开发者在编程中正确使用类型检查工具。

本文深入解析Python中isinstance函数的具体用法,通过详细的代码示例,为读者在学习或工作中提供参考价值。

isinstance与type的区别

isinstance()函数用于判断一个对象是否属于已知的类型,其功能与type()类似。

isinstance()与type()的主要区别在于对继承关系的处理。

type()函数在判断时不会认为子类属于父类类型,即不考虑继承关系。

isinstance()函数会认为子类属于父类类型,明确考虑继承关系。

在需要判断两个类型是否相同的情况下,推荐使用isinstance()。

语法与参数说明

语法格式如下。

isinstance(object, classinfo)

参数说明如下。

object:指代实例对象。

classinfo:可以是直接或间接类名、基本类型,或由它们组成的元组。


>>>a = 2
>>> isinstance (a,int) True
>>> isinstance (a,str) False
>>> isinstance (a,(str,int,list)) # 是元组中的一个返回 True True

对于基本类型而言,classinfo可以是以下类型。

int、float、bool、complex、str(字符串)、list、dict(字典)、set、tuple。

需要注意的是,classinfo中的字符串类型应写作str而非string,字典类型应写作dict。

代码实例与应用场景

以下是具体实例。


arg=123
isinstance(arg, int)  #输出True
isinstance(arg, str)  #输出False
isinstance(arg, string) #报错

该函数可用于判断对象是否属于某个类的继承关系。


class A:
  pass
 
class B(A):
  pass
 
isinstance(A(), A)  # returns True
type(A()) == A    # returns True
isinstance(B(), A)  # returns True
type(B()) == A    # returns False

在接收参数时,可以使用该函数来校验参数的类型。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。