四时宝库

程序员的知识宝库

2分钟带你掌握Python3中isinstance 和 type 的区别

首先这两个都是可以用来查看对象的数据类型

  • type()是一个内置函数,可以用来查询变量所指的对象类型
  • isinstance()是用来判断该变量是否为某种数据类型

对于基本数据类型

直接看代码

# type
print(type(1), type(True), type([1,2,3]))

# isinstance
print(isinstance(1, int))
print(isinstance(True, bool))
print(isinstance([1,2,3], tuple))

输出结果

<class 'int'> <class 'bool'> <class 'list'>
True
True
False

自定义类

对于自定义类来说

  1. type()认为子类和父类不是一种类型,
  2. isinstance()认为子类一种父类类型
# 父类
class A:
 pass
# 子类
class B(A):
 pass

print(type(A()) == A) # returns True
print(isinstance(A(), A)) # returns True

print(type(B()) == A) # returns False
print(isinstance(B(), A)) # returns True

关注我,私信我【Python】,还可以免费获取一套精心整理的电子书籍哟!点击【了解更多】内容

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接