types

Module types |
[hide private]
[frames] | no frames]

# Source Code for Module types

     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  try:
    46      CodeType = type(_f.func_code)
    47  except RuntimeError:
    48      # Execution in restricted environment
    49      pass
    50
    51 -def _g():
    52      yield 1
    53  GeneratorType = type(_g())
    54
    55 -class _C:
    56 -    def _m(self): pass
    57  ClassType = type(_C)
    58  UnboundMethodType = type(_C._m)         # Same as MethodType
    59  _x = _C()
    60  InstanceType = type(_x)
    61  MethodType = type(_x._m)
    62
    63  BuiltinFunctionType = type(len)
    64  BuiltinMethodType = type([].append)     # Same as BuiltinFunctionType
    65
    66  ModuleType = type(sys)
    67  FileType = file
    68  XRangeType = xrange
    69
    70  try:
    71      raise TypeError
    72  except TypeError:
    73      try:
    74          tb = sys.exc_info()[2]
    75          TracebackType = type(tb)
    76          FrameType = type(tb.tb_frame)
    77      except AttributeError:
    78          # In the restricted environment, exc_info returns (None, None,
    79          # None) Then, tb.tb_frame gives an attribute error
    80          pass
    81      tb = None; del tb
    82
    83  SliceType = slice
    84  EllipsisType = type(Ellipsis)
    85
    86  DictProxyType = type(TypeType.__dict__)
    87  NotImplementedType = type(NotImplemented)
    88
    89  # For Jython, the following two types are identical
    90  GetSetDescriptorType = type(FunctionType.func_code)
    91  MemberDescriptorType = type(FunctionType.func_globals)
    92
    93  del sys, _f, _g, _C, _x                           # Not for export
    94