cinap_lenrekadd hg and python4bb9e2215 years agoHistory
101 lines · 2.5 KB · Python
RawDownload
"""Define names for all type symbols known in the standard interpreter. Types that are part of optional modules (e.g. array) are not listed."""import sys # Iterators in Python aren't a matter of type but of protocol.  A large# and changing number of builtin types implement *some* flavor of# iterator.  Don't check the type!  Use hasattr to check for both# "__iter__" and "next" attributes instead. NoneType = type(None)TypeType = typeObjectType = object IntType = intLongType = longFloatType = floatBooleanType = booltry:    ComplexType = complexexcept NameError:    pass StringType = str # StringTypes is already outdated.  Instead of writing "type(x) in# types.StringTypes", you should use "isinstance(x, basestring)".  But# we keep around for compatibility with Python 2.2.try:    UnicodeType = unicode    StringTypes = (StringType, UnicodeType)except NameError:    StringTypes = (StringType,) BufferType = buffer TupleType = tupleListType = listDictType = DictionaryType = dict def _f(): passFunctionType = type(_f)LambdaType = type(lambda: None)         # Same as FunctionTypetry:    CodeType = type(_f.func_code)except RuntimeError:    # Execution in restricted environment    pass def _g():    yield 1GeneratorType = type(_g()) class _C:    def _m(self): passClassType = type(_C)UnboundMethodType = type(_C._m)         # Same as MethodType_x = _C()InstanceType = type(_x)MethodType = type(_x._m) BuiltinFunctionType = type(len)BuiltinMethodType = type([].append)     # Same as BuiltinFunctionType ModuleType = type(sys)FileType = fileXRangeType = xrange try:    raise TypeErrorexcept TypeError:    try:        tb = sys.exc_info()[2]        TracebackType = type(tb)        FrameType = type(tb.tb_frame)    except AttributeError:        # In the restricted environment, exc_info returns (None, None,        # None) Then, tb.tb_frame gives an attribute error        pass    tb = None; del tb SliceType = sliceEllipsisType = type(Ellipsis) DictProxyType = type(TypeType.__dict__)NotImplementedType = type(NotImplemented) # Extension types defined in a C helper module.  XXX There may be no# equivalent in implementations other than CPython, so it seems better to# leave them undefined then to set them to e.g. None.try:    import _typesexcept ImportError:    passelse:    GetSetDescriptorType = type(_types.Helper.getter)    MemberDescriptorType = type(_types.Helper.member)    del _types del sys, _f, _g, _C, _x                           # Not for export