1.isinstance()内置函数
python中的isinstance()函数是python的内置函数,用来判断一个函数是否是一个已知类型。类似type。
2.用法:
isinstance(object,classinfo)
object:实例化对象
classinfo:可以是直接或者间接类名、基本类型或者由它们组成的元组。
返回值:如果对象的类型与参数classinfo的类型相同,则返回True,否则返回False
Python错误SyntaxError: unexpected EOF while parsing。【parsing,对句子结构的分析、解析】
含义是:解释器没找到它要找到的东西
1 语法有问题,一般都是少了print最后的一个括号。
2 输入语法肯定有问题,有时候忘了切换中英文输入法,可以删除了重新输入
3.isinstance示例语法:
#isinstance a=[44,2,45] b='alex' c={'a':12} print(isinstance(a,str)) print(isinstance(b,str)) print(isinstance(c,(str,dict,list,tuple)))#查看c是否是元组(str,dict,list,tuple)的一个 结果: False True True
4.isinstance()与type()的区别
isinstance()会认为子类是一种父类类型,考虑继承关系。
type()不会认为子类是一种父类类型,不考虑继承关系。
4.1 type只接受一个参数,不仅可以判断变量是否属于某个类型,还可以直接返回参数类型。
而isinstance只能判断是否属于某个已知的类型,不能直接得到变量所属的类型。
4.2 isinstance可以判断子类实例对象是属于父类的;而type会判断子类实例对象和父类类型不一样。
class A(object): pass class B(A): pass print(type (B())) #只显示B()这个子类 print(type (A())) print(type (B()))
print(type(B())==A)
结果:
<class '__main__.B'>
<class '__main__.A'>
True
False