Mercurial > cpython-lru_cache-weakref
view Lib/types.py @ 20737:00a581bdedeb legacy-trunk
When overriding __str__ or __repr__, set the tp_print slot to NULL.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Mon, 29 Oct 2001 14:33:44 +0000 |
| parents | 8ec95ce78735 |
| children | 272336648d1f |
line wrap: on
line source
"""Define names for all type symbols known in the standard interpreter. Types that are part of optional modules (e.g. array) are not listed. """ from __future__ import generators 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 = type ObjectType = object IntType = int LongType = long FloatType = float try: ComplexType = complex except NameError: pass StringType = str try: UnicodeType = unicode StringTypes = [StringType, UnicodeType] except NameError: StringTypes = [StringType] BufferType = type(buffer('')) TupleType = tuple ListType = list DictType = DictionaryType = dictionary def _f(): pass FunctionType = type(_f) LambdaType = type(lambda: None) # Same as FunctionType try: CodeType = type(_f.func_code) except RuntimeError: # Execution in restricted environment pass def g(): yield 1 GeneratorType = type(g()) del g class _C: def _m(self): pass ClassType = 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 = file XRangeType = type(xrange(0)) try: raise TypeError except 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 = type(slice(0)) EllipsisType = type(Ellipsis) DictProxyType = type(TypeType.__dict__) del sys, _f, _C, _x, generators # Not for export
