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
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
相关文章推荐
- 飘逸的python - 类型判断type与isinstance的区别
- python 内建函数isinstance的用法以及与type的区别
- python 内建函数isinstance的用法以及与type的区别
- python type(object) 与 isinstance(object, base) 区别
- python数据类型判断type与isinstance的区别
- python数据类型判断type与isinstance的区别
- python数据类型判断type与isinstance的区别实例解析
- python 内建函数isinstance的用法以及与type的区别
- Python中isinstance() 与 type() 区别
- Python语言学习讲解八:类型判断type与isinstance的区别
- Python2.7:测试内部类型及type和isinstance用法区别
- python type、isinstance和metaclass的应用
- 简述Python isinstance 和type
- Python 中type(name, base, dicts)与type.__new__(cls, name, base, dicts) 的区别
- Python中为什么推荐使用isinstance来进行类型判断?而不是type
- Python isinstance 和 type,类型判断
- Python的type 还是要靠isinstance判断类型
- [python]type和isinstance的比较
- Python 继承、多重继承、多态、isinstance判断类型、type()获取变量类型、dir()获取变量的所有属性
- Python类型判断type与isinstance