• Python 判断数据类型有type和isinstance


    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:softwarePython2.7.13python.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

  • 相关阅读:
    P3469 [POI2008]BLO-Blockade
    洛谷P2342 叠积木
    洛谷 P1197 [JSOI2008]星球大战
    洛谷P1967 货车运输
    洛谷P2812校园网络【Network of Schools加强版】
    洛谷P3003 苹果交货Apple Delivery
    luogu Eat the Trees
    插头DP模板
    [NOIP2017] 宝藏
    LOJ6268拆分数
  • 原文地址:https://www.cnblogs.com/zhaoyq/p/7886293.html
Copyright © 2020-2023  润新知