python找茬系列12--isinstance()与type(
2019-08-01 本文已影响0人
young十三
一、区别
序号 | 名称 | 区别 |
---|---|---|
1 | type() | type() 不会认为子类是一种父类类型,不考虑继承关系。 |
2 | isinstance() | isinstance() 会认为子类是一种父类类型,考虑继承关系。 |
如果要判断两个类型是否相同推荐使用 isinstance()。
二、实例
>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list)) # 是元组中的一个返回 True
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
三、赠语
劝君莫惜金缕衣,劝君惜取少年时。
花开堪折直须折,莫待无花空折枝。