猿问

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

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()


临摹微笑
浏览 531回答 3
3回答

肥皂起泡泡

下面是一个例子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子类也是如此。
随时随地看视频慕课网APP

相关分类

Python
我要回答