为了账号安全,请及时绑定邮箱和手机立即绑定

type()和isinsten()之间有什么区别?

type()和isinsten()之间有什么区别?

临摹微笑 2019-06-05 13:43:34
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子类也是如此。


查看完整回答
反对 回复 2019-06-05
  • 3 回答
  • 0 关注
  • 530 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信