python中isinstance函数
大家好,又见面了,我是你们的朋友全栈君。
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) # return True
type(A()) == A # return True
isinstance(B(),A) # return True
Type(B()) == A # return False
我们发现,创建一个A对象,再创建一个继承A对象的B对象,使用 isinstance() 和 type() 来比较 A() 和 A 时,由于它们的类型都是一样的,所以都返回了 True。而B对象继承于A对象,在使用isinstance()函数来比较 B() 和 A 时,由于考虑了继承关系,所以返回了 True,使用 type() 函数来比较 B() 和 A 时,不会考虑 B() 继承自哪里,所以返回了 False。
如果要判断两个类型是否相同,则推荐使用isinstance()。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/155905.html原文链接:https://javaforall.cn
相关文章
- matlab wavedec2 函数,python小波变换 wavedec2函数 各个返回值详解
- python执行cmd命令并解析结果_python如何打包成可执行程序
- python求最大公约数和最小公倍数的两种方法
- Python元祖详解
- 【过程记录】python环境离线迁移
- Python笔记 第三章
- python读取、写入txt文本内容
- Python基础16-正则和子进程模块
- 【Python】QQ查IP工具
- Python中break和continue区别「建议收藏」
- Python抓取腾视频所有电影,不用钱就可以看会员电影
- python 字符串基础练习
- Python排序函数
- 解决Python扩展: Unable to find vcvarsall.bat[通俗易懂]
- python中delay__python delay函数「建议收藏」
- [Python] 使用print作进度条(解决end=''时print不显示的问题)
- Python 二进制,十进制,十六进制转换「建议收藏」
- Python之psutil库的使用
- Python版本的选择
- python海龟作图红绿灯_海龟作图—用Python绘图