type()和isinsten()之间有什么区别?这两个代码片段之间有什么区别?使用type():import typesif type(a) is types.DictType:
do_something()if type(b) in types.StringTypes:
do_something_else()使用isinstance():if isinstance(a, dict):
do_something()if isinstance(b, str) or isinstance(b, unicode):
do_something_else()
3 回答
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
下面是一个例子isinstance
取得一些成就type
不能:
class Vehicle: passclass Truck(Vehicle): pass
在本例中,卡车对象是车辆,但您将得到以下内容:
isinstance(Vehicle(), Vehicle) # returns Truetype(Vehicle()) == Vehicle # returns Trueisinstance(Truck(), Vehicle) # returns Truetype(Truck()) == Vehicle # returns False, and this probably won't be what you want.
换句话说,isinstance
子类也是如此。
添加回答
举报
0/150
提交
取消