ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python中的isinstance()函数

2022-01-25 12:07:27  阅读:187  来源: 互联网

标签:返回 函数 Python True isinstance type


1. 描述

Python中的 isinstance() 函数,是Python中的一个内置函数,用来判断一个函数是否是一个已知的类型,类似 type()。

2. 语法

isinstance(object,classinfo)

参数:

  • object : 实例对象。
  • classinfo : 可以是直接或者间接类名、基本类型或者由它们组成的元组。

返回值:如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。

3. 实例

以下是使用isinstance()函数的实例:

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

4. isinstance()与type()的区别

例如在继承上的区别:

  • isinstance() 会认为子类是一种父类类型,考虑继承关系。
  • type() 不会认为子类是一种父类类型,不考虑继承关系。

为了清楚的说明这种区别,我们做如下实验:

   


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

我们发现,创建一个A对象,再创建一个继承A对象的B对象,使用 isinstance() 和 type() 来比较 A() 和 A 时,由于它们的类型都是一样的,所以都返回了 True。而B对象继承于A对象,在使用isinstance()函数来比较 B() 和 A 时,由于考虑了继承关系,所以返回了 True,使用 type() 函数来比较 B() 和 A 时,不会考虑 B() 继承自哪里,所以返回了 False。

如果要判断两个类型是否相同,则推荐使用isinstance()。

 参考博客:Python中的isinstance()函数_飞鸟逐岸的博客

标签:返回,函数,Python,True,isinstance,type
来源: https://blog.csdn.net/qq_36998053/article/details/122682397

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有