一、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/
- 我的微信公众号
- 微信扫一扫
-
- 我的微信公众号
- 微信扫一扫
-
评论