Python 判断数据类型有type和isinstance
基本区别在于:
type():不会认为子类是父类
isinstance():会认为子类是父类类型
1
2
3
4
5
6
7
8
9
|
class Color( object ): pass class Red(Color): pass print type (Color()) = = Color print type (Red()) = = Color print isinstance (Red(),Color) |
执行结果如下:
1
2
3
4
|
D:softwarePython2. 7.13 python.exe C: / Users / Administrator / PycharmProjects / PythonStudy / test.py True False True |
用isinstance判断mongDB中的一些数据类型:
- 字符串、int、long、float - isinstance(data, (int, str, types.LongType, float))
- 时间类型 - isinstance(data, datetime.datetime)
- 布尔类型 - isinstance(data, (bool))
- 字典类型 - isinstance(data, (dict))
- 数组 - isinstance(data, (list))
- unicode - isinstance(data, unicode)
- mongo obJect - isinstance(data, bson.objectid.ObjectId)
可以引入types模板,获取数据类型:
inport types
types取值:
BooleanType
BufferType
BuiltinFunctionType
BuiltinMethodType
ClassType
CodeType
ComplexType
DictProxyType
DictType
DictionaryType
EllipsisType
FileType
FloatType
FrameType
FunctionType
GeneratorType
GetSetDescriptorType
InstanceType
IntType
LambdaType
ListType
LongType
MemberDescriptorType
MethodType
ModuleType
NoneType
NotImplementedType
ObjectType
SliceType
StringType
StringTypes
TracebackType
TupleType
TypeType
UnboundMethodType
UnicodeType
XRangeType