使用isinstance()函数判断一个变量是不是字符串,python中isinstance函数的用法
我们也讲了很多函数判断,有些是针对类型的,有些是判断条件。今天主要讲阶级判断。很多朋友在做类判断的时候分不清type和isinstance的区别。虽然都可以用来判断,但是判断类型条件有一定的区别。接下来,小编就给大家讲讲我们在python中选择isinstance判断类的原因。
Isinstance语法
isinstance(object,classinfo)
isinstance
函数描述:当我们定义一个类时,我们实际上定义了一个数据类型。我们定义的数据类型和Python自己的数据类型没什么区别,比如str,list,dict。
isinstance()和type()之间的区别:
当我们定义一个类时,我们实际上定义了一个数据类型。我们定义的数据类型和Python自己的数据类型没什么区别,比如str,list,dict。
不管继承与否,Type()都不会将子类视为父类类型。
Isinstance()会把子类当作父类类型,并考虑继承关系。
如果要判断两个类型是否相同,建议使用isinstance()。
类型是由isinstance而不是Type来判断的。
Type()不认为子类是父类类型。Isinstance()将子类视为父类类型。
classFoo(object):
及格
classBar(Foo):
及格
print(type(Foo())==Foo)
print(type(Bar())==Foo)
print(isinstance(Foo(),Foo))
print(isinstance(Bar(),Foo))
#输出3360
真实的
错误的
真实的
真实的
以上是python通过isinstance判断类的原因,因为isinstance需要使用继承,这是不能通过类型来考虑的,所以下次使用的时候一定要牢记。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。