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)
 执行结果如下:
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
python 2 实例:
import types 
type(x) is types.IntType # 判断是否int 类型 
type(x) is types.StringType #是否string类型
还可以:
import types 
type(x) == types(1) # 判断是否int 类型 
type(x) == type('a') #是否string类型
python 3 实例:
if type(fileJson) is dict:
    if type(fileJson) == dict:
if type(fileJson) == type({}):
                    
                
                
            
        
浙公网安备 33010602011771号