Python类型判断

有次面试被问到Python中怎么判断数据类型。

答:type()和isinstance()


 type() 方法的语法:

type(name, bases, dict),其中name是类的名称,bases是基类的元组,dict是类内定义的命名空间变量。当有一个参数时它的返回值是对象类型, 有三个参数时,返回值是新的类型对象。

 isinstance() 方法的语法:

isinstance(object, classinfo),其中object 是实例对象,变量,classinfo 可以是直接或间接类名、基本类型或者由它们组成的元组(如tuple,dict,int,str,float,list,set,bool,class类等)。如果对象的类型与classinfo相同则返回 值为True,否则返回值为 False。

重点说一下这两者的区别:

在判断子类上这两个函数不一样。type()不会认为子类是父类的类型,不考虑继承关系;isinstance()会认为子类是父类的类型,考虑继承关系。





你可能感兴趣的:(Python基础)