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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM