github.com/google/grumpy@v0.0.0-20171122020858-3ec87959189c/third_party/stdlib/types.py (about)

     1  """Define names for all type symbols known in the standard interpreter.
     2  
     3  Types that are part of optional modules (e.g. array) are not listed.
     4  """
     5  import sys
     6  
     7  # Iterators in Python aren't a matter of type but of protocol.  A large
     8  # and changing number of builtin types implement *some* flavor of
     9  # iterator.  Don't check the type!  Use hasattr to check for both
    10  # "__iter__" and "next" attributes instead.
    11  
    12  NoneType = type(None)
    13  TypeType = type
    14  ObjectType = object
    15  
    16  IntType = int
    17  #LongType = long
    18  FloatType = float
    19  BooleanType = bool
    20  try:
    21      ComplexType = complex
    22  except NameError:
    23      pass
    24  
    25  StringType = str
    26  
    27  # StringTypes is already outdated.  Instead of writing "type(x) in
    28  # types.StringTypes", you should use "isinstance(x, basestring)".  But
    29  # we keep around for compatibility with Python 2.2.
    30  try:
    31      UnicodeType = unicode
    32      StringTypes = (StringType, UnicodeType)
    33  except NameError:
    34      StringTypes = (StringType,)
    35  
    36  #BufferType = buffer
    37  
    38  TupleType = tuple
    39  ListType = list
    40  DictType = DictionaryType = dict
    41  
    42  def _f(): pass
    43  FunctionType = type(_f)
    44  #LambdaType = type(lambda: None)         # Same as FunctionType
    45  #CodeType = type(_f.func_code)
    46  
    47  def _g():
    48      yield 1
    49  GeneratorType = type(_g())
    50  
    51  class _C(object):
    52      def _m(self): pass
    53  ClassType = type(_C)
    54  UnboundMethodType = type(_C._m)         # Same as MethodType
    55  _x = _C()
    56  #InstanceType = type(_x)
    57  MethodType = type(_x._m)
    58  
    59  BuiltinFunctionType = type(len)
    60  BuiltinMethodType = type([].append)     # Same as BuiltinFunctionType
    61  
    62  ModuleType = type(sys)
    63  FileType = file
    64  XRangeType = xrange
    65  
    66  try:
    67      raise TypeError
    68  except TypeError:
    69      tb = sys.exc_info()[2]
    70      TracebackType = type(tb)
    71      FrameType = type(tb.tb_frame)
    72      del tb
    73  
    74  SliceType = slice
    75  EllipsisType = type(Ellipsis)
    76  
    77  #DictProxyType = type(TypeType.__dict__)
    78  NotImplementedType = type(NotImplemented)
    79  
    80  # For Jython, the following two types are identical
    81  #GetSetDescriptorType = type(FunctionType.func_code)
    82  #MemberDescriptorType = type(FunctionType.func_globals)
    83  
    84  del sys, _C, _x                           # Not for export
    85  #del _f, _g