判断数据类型的两种方法
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) True >>> type(A()) == A True >>> isinstance(B(), A) True >>> type(B()) == A False
两种区别:
- type()不会认为子类是一种父类类型。
- isinstance()会认为子类是一种父类类型。