在函数判断上我们也讲了很多,有的是针对于类型,有的是判断条件,今天我们主要讲的是类的判断。很多小伙伴在进行类判断的时候,分不清type和
isinstance
的区别,虽然它们都能用来判断,但是在判断类型条件上有一定的区别,接下来小编就为大家讲讲在python中我们选择isinstance判断类的原因。
isinstance语法
isinstance(object, classinfo)
isinstance
函数说明
:
当我们定义一个
class的时候,我们实际上就定义了一种数据类型。我们定义的数据类型和Python自带的数据类型,比如str、list、dict没什么两样
。
isinstance() 与 type() 区别:
当我们定义一个
class的时候,我们实际上就定义了一种数据类型。我们定义的数据类型和Python自带的数据类型,比如str、list、dict没什么两样
。
- type() 不会将子类视为父类类型,无论继承关系如何。
-
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
类型判断用isinstance,不用type
type() 不会将子类视为超类类型。 isinstance() 会将子类视为父类类型。
class Foo(object):
pass
class Bar(Foo):
pass
print(type(Foo()) == Foo)
print(type(Bar()) == Foo)
print(isinstance(Foo(), Foo))
print(isinstance(Bar(), Foo))
# 输出:
True
False
True
True
以上就是python中哦们选择用isinstance判断类的原因了,因为
isinstance需要用到继承关系,不能按类型考虑,所以下次用的时候一定要记住。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何在python中调用线程01/12
- ♥ 如何在python中删除文件后缀09/17
- ♥ 如何在python中绘制对数函数图?09/30
- ♥ Python字符编码总结10/31
- ♥ 如何在python中获取数字的最后几位08/25
- ♥ 你的python是什么意思09/19
内容反馈