python 判断数据类型

Python 判断数据类型有type和isinstance

基本区别在于:

type():不会认为子类是父类

isinstance():会认为子类是父类类型

class Color(object):
    pass

class Red(Color):
    pass

print type(Color()) == Color
print type(Red()) == Color
print isinstance(Red(),Color)

 执行结果如下:

D:\software\Python2.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

 

posted @ 2017-06-30 17:11  chanjuan  阅读(37361)  评论(0编辑  收藏  举报