(转)python 判断数据类型


原文:https://blog.csdn.net/mydriverc2/article/details/78687269

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM