您的位置:首页 > 编程语言 > Python开发

Python3中isinstance 和 type 的区别

2018-02-04 15:46 281 查看
Python
3像大多数语言一样,数值类型的赋值和计算都是很直观的。

内置的 type()
函数可以用来查询变量所指的对象类型。

>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
此外还可以用 isinstance 来判断:
>>>a = 111
>>> isinstance(a, int)
True但是在判断继承的关系的时候,二者判断结果会有所不同:

class A:
pass

class B(A):
pass

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

区别就是:

type()不会认为子类是一种父类类型。

isinstance()会认为子类是一种父类类型。

原文出自runoob.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: