blob: a71a4db4e9cabda0b7af0f9857a876ff61ee35ae [file] [log] [blame]
Guido van Rossume7b146f2000-02-04 15:28:42 +00001"""Define names for all type symbols known in the standard interpreter.
2
3Types that are part of optional modules (e.g. array) are not listed.
4"""
Guido van Rossum85d89451994-06-23 11:53:27 +00005
6import sys
7
8NoneType = type(None)
9TypeType = type(NoneType)
10
11IntType = type(0)
12LongType = type(0L)
13FloatType = type(0.0)
Guido van Rossum0f6f8121996-02-13 00:04:31 +000014try:
Guido van Rossum898c9151997-09-04 22:12:34 +000015 ComplexType = type(complex(0,1))
Guido van Rossum0f6f8121996-02-13 00:04:31 +000016except NameError:
Guido van Rossum898c9151997-09-04 22:12:34 +000017 pass
Guido van Rossum85d89451994-06-23 11:53:27 +000018
19StringType = type('')
Guido van Rossum85eacec2000-03-10 23:18:11 +000020UnicodeType = type(u'')
Guido van Rossum36561c51999-03-19 19:08:03 +000021BufferType = type(buffer(''))
Guido van Rossum85d89451994-06-23 11:53:27 +000022
23TupleType = type(())
24ListType = type([])
Guido van Rossum780620f1995-02-27 13:14:15 +000025DictType = DictionaryType = type({})
Guido van Rossum85d89451994-06-23 11:53:27 +000026
Guido van Rossumadc940e1994-09-29 10:04:43 +000027def _f(): pass
28FunctionType = type(_f)
Guido van Rossum45e2fbc1998-03-26 21:13:24 +000029LambdaType = type(lambda: None) # Same as FunctionType
Guido van Rossum898c9151997-09-04 22:12:34 +000030try:
31 CodeType = type(_f.func_code)
32except:
33 pass
Guido van Rossum85d89451994-06-23 11:53:27 +000034
Guido van Rossumadc940e1994-09-29 10:04:43 +000035class _C:
Guido van Rossum898c9151997-09-04 22:12:34 +000036 def _m(self): pass
Guido van Rossumadc940e1994-09-29 10:04:43 +000037ClassType = type(_C)
Guido van Rossum45e2fbc1998-03-26 21:13:24 +000038UnboundMethodType = type(_C._m) # Same as MethodType
Guido van Rossumadc940e1994-09-29 10:04:43 +000039_x = _C()
40InstanceType = type(_x)
41MethodType = type(_x._m)
Guido van Rossum85d89451994-06-23 11:53:27 +000042
Guido van Rossumadc940e1994-09-29 10:04:43 +000043BuiltinFunctionType = type(len)
Guido van Rossum45e2fbc1998-03-26 21:13:24 +000044BuiltinMethodType = type([].append) # Same as BuiltinFunctionType
Guido van Rossum85d89451994-06-23 11:53:27 +000045
46ModuleType = type(sys)
47
Guido van Rossum898c9151997-09-04 22:12:34 +000048try:
Guido van Rossum1f057081998-12-19 23:53:33 +000049 FileType = type(sys.__stdin__)
Guido van Rossum898c9151997-09-04 22:12:34 +000050except:
51 pass
Guido van Rossum85d89451994-06-23 11:53:27 +000052XRangeType = type(xrange(0))
53
54try:
Guido van Rossum898c9151997-09-04 22:12:34 +000055 raise TypeError
Guido van Rossum85d89451994-06-23 11:53:27 +000056except TypeError:
Guido van Rossum898c9151997-09-04 22:12:34 +000057 try:
Guido van Rossum45e2fbc1998-03-26 21:13:24 +000058 tb = sys.exc_info()[2]
59 TracebackType = type(tb)
60 FrameType = type(tb.tb_frame)
Guido van Rossum898c9151997-09-04 22:12:34 +000061 except:
Guido van Rossum45e2fbc1998-03-26 21:13:24 +000062 pass
Guido van Rossumf15d1591997-09-29 23:22:12 +000063 tb = None; del tb
Guido van Rossum85d89451994-06-23 11:53:27 +000064
Guido van Rossum8741b2b1996-10-11 16:00:06 +000065SliceType = type(slice(0))
Guido van Rossume449af71996-10-11 16:25:41 +000066EllipsisType = type(Ellipsis)
Guido van Rossum8741b2b1996-10-11 16:00:06 +000067
Guido van Rossum45e2fbc1998-03-26 21:13:24 +000068del sys, _f, _C, _x # Not for export