知行编程网知行编程网  2022-12-20 15:30 知行编程网 隐藏边栏  2 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python中用isinstance判断类的原因是什么?的相关知识,希望可以帮到处于编程学习途中的小伙伴


python中使用isinstance判断类的原因是什么?


在函数判断上我们也讲了很多,有的是针对于类型,有的是判断条件,今天我们主要讲的是类的判断。很多小伙伴在进行类判断的时候,分不清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需要用到继承关系,不能按类型考虑,所以下次用的时候一定要记住。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享