Python:isinstance()和type()函数的区别

数据大师
数据大师
数据大师
294
文章
0
评论
2021-08-1116:06:07 评论 947 899字
摘要

在python中,经常会使用到type与isinstance两个内置的函数来判断变量属于什么类型。那么这两个函数有什么区别呢?下面来简单分析一下。

 

一、isinstance() 函数

isinstance() 函数是Python内置函数,判断一个对象是否是某个类或子类,返回True或False

语法:isinstance(object, classinfo) -> boolReturn whether an object is an instance of a class or of a subclass thereof.

object – 实例对象。classinfo – 可以是直接或间接类名、基本类型或者由它们组成的元组。classinfo 可以是:int,float,bool,complex,str(不能写string),list,dict,set,tuple

 

二、type()函数

type()函数是Python内置函数,得到传入的object的类型

type(object_or_name, bases, dict)type(object) -> the object’s typetype(name, bases, dict) -> a new type

 

三、isinstance()与type() 区别

1、type只接收一个参数,不但可以判断变量是否属于某个类型,而且可以得到未知的参数变量所属的类型;而isinstance只能判断是否属于某个已知类型,不能直接得到变量未知的所属的类型

2、isinstance可以判断子类实例对象是属于父类的;而type会判断子类实例对象和父类类型不一样

class A:      pass

class B(A):      pass

print(isinstance(A(), A)) # Trueprint(type(A()) == A) # Trueprint(isinstance(B(), A)) # Trueprint(type(B()) == A) # False

综上,isinstance和type的应用场景是不同的:- type主要用于获取未知变量的类型- isinstance主要用于判断A类是否继承于B类

 

End.

作者:mulus

本文为转载分享,如果涉及作品、版权和其他问题,请联系我们第一时间删除(微信号:lovedata0520)

更多文章前往首页浏览http://www.itongji.cn/

 

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: