cpython/Lib/types.py
Guido van Rossum 898c915a31 Added some try-excepts so that it can be imported in restricted mode
(though some type names are undefined in that case, e.g. CodeType
(inaccessible), FileType (not always accessible), and TracebackType
and FrameType (inaccessible).
1997-09-04 22:12:34 +00:00

63 lines
1.2 KiB
Python

# 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
NoneType = type(None)
TypeType = type(NoneType)
IntType = type(0)
LongType = type(0L)
FloatType = type(0.0)
try:
ComplexType = type(complex(0,1))
except NameError:
pass
StringType = type('')
TupleType = type(())
ListType = type([])
DictType = DictionaryType = type({})
def _f(): pass
FunctionType = type(_f)
LambdaType = type(lambda: None) # Same as FunctionType
try:
CodeType = type(_f.func_code)
except:
pass
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)
try:
FileType = type(sys.stdin) # XXX what if it was assigned to?
except:
pass
XRangeType = type(xrange(0))
try:
raise TypeError
except TypeError:
try:
TracebackType = type(sys.exc_traceback)
FrameType = type(sys.exc_traceback.tb_frame)
except:
pass
SliceType = type(slice(0))
EllipsisType = type(Ellipsis)
del sys, _f, _C, _x # Not for export