1. 程式人生 > >python 判斷資料型別

python 判斷資料型別

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:\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