Issue #7632: Fix a serious wrong output bug for string -> float conversion.
[python.git] / Lib / types.py
blobff90e049730d637e12d01269acfedf7182e32b44
1 """Define names for all type symbols known in the standard interpreter.
3 Types that are part of optional modules (e.g. array) are not listed.
4 """
5 import sys
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.
12 NoneType = type(None)
13 TypeType = type
14 ObjectType = object
16 IntType = int
17 LongType = long
18 FloatType = float
19 BooleanType = bool
20 try:
21 ComplexType = complex
22 except NameError:
23 pass
25 StringType = str
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,)
36 BufferType = buffer
38 TupleType = tuple
39 ListType = list
40 DictType = DictionaryType = dict
42 def _f(): pass
43 FunctionType = type(_f)
44 LambdaType = type(lambda: None) # Same as FunctionType
45 CodeType = type(_f.func_code)
47 def _g():
48 yield 1
49 GeneratorType = type(_g())
51 class _C:
52 def _m(self): pass
53 ClassType = type(_C)
54 UnboundMethodType = type(_C._m) # Same as MethodType
55 _x = _C()
56 InstanceType = type(_x)
57 MethodType = type(_x._m)
59 BuiltinFunctionType = type(len)
60 BuiltinMethodType = type([].append) # Same as BuiltinFunctionType
62 ModuleType = type(sys)
63 FileType = file
64 XRangeType = xrange
66 try:
67 raise TypeError
68 except TypeError:
69 tb = sys.exc_info()[2]
70 TracebackType = type(tb)
71 FrameType = type(tb.tb_frame)
72 del tb
74 SliceType = slice
75 EllipsisType = type(Ellipsis)
77 DictProxyType = type(TypeType.__dict__)
78 NotImplementedType = type(NotImplemented)
80 # For Jython, the following two types are identical
81 GetSetDescriptorType = type(FunctionType.func_code)
82 MemberDescriptorType = type(FunctionType.func_globals)
84 del sys, _f, _g, _C, _x # Not for export