mirror of
https://github.com/python/cpython.git
synced 2025-10-22 17:33:55 +00:00

svn+ssh://pythondev@svn.python.org/python/branches/p3yk ........ r55077 | guido.van.rossum | 2007-05-02 11:54:37 -0700 (Wed, 02 May 2007) | 2 lines Use the new print syntax, at least. ........ r55142 | fred.drake | 2007-05-04 21:27:30 -0700 (Fri, 04 May 2007) | 1 line remove old cruftiness ........ r55143 | fred.drake | 2007-05-04 21:52:16 -0700 (Fri, 04 May 2007) | 1 line make this work with the new Python ........ r55162 | neal.norwitz | 2007-05-06 22:29:18 -0700 (Sun, 06 May 2007) | 1 line Get asdl code gen working with Python 2.3. Should continue to work with 3.0 ........ r55164 | neal.norwitz | 2007-05-07 00:00:38 -0700 (Mon, 07 May 2007) | 1 line Verify checkins to p3yk (sic) branch go to 3000 list. ........ r55166 | neal.norwitz | 2007-05-07 00:12:35 -0700 (Mon, 07 May 2007) | 1 line Fix this test so it runs again by importing warnings_test properly. ........ r55167 | neal.norwitz | 2007-05-07 01:03:22 -0700 (Mon, 07 May 2007) | 8 lines So long xrange. range() now supports values that are outside -sys.maxint to sys.maxint. floats raise a TypeError. This has been sitting for a long time. It probably has some problems and needs cleanup. Objects/rangeobject.c now uses 4-space indents since it is almost completely new. ........ r55171 | guido.van.rossum | 2007-05-07 10:21:26 -0700 (Mon, 07 May 2007) | 4 lines Fix two tests that were previously depending on significant spaces at the end of a line (and before that on Python 2.x print behavior that has no exact equivalent in 3.0). ........
98 lines
2.4 KiB
Python
98 lines
2.4 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
|
|
|
|
# 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 = int
|
|
FloatType = float
|
|
BooleanType = bool
|
|
try:
|
|
ComplexType = complex
|
|
except 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 = str
|
|
StringTypes = (StringType, UnicodeType)
|
|
except NameError:
|
|
StringTypes = (StringType,)
|
|
|
|
BufferType = buffer
|
|
|
|
TupleType = tuple
|
|
ListType = list
|
|
DictType = DictionaryType = dict
|
|
|
|
def _f(): pass
|
|
FunctionType = type(_f)
|
|
LambdaType = type(lambda: None) # Same as FunctionType
|
|
try:
|
|
CodeType = type(_f.__code__)
|
|
except RuntimeError:
|
|
# Execution in restricted environment
|
|
pass
|
|
|
|
def _g():
|
|
yield 1
|
|
GeneratorType = type(_g())
|
|
|
|
class _C:
|
|
def _m(self): pass
|
|
ClassType = type(_C)
|
|
UnboundMethodType = type(_C._m) # Same as MethodType
|
|
MethodType = type(_C()._m)
|
|
|
|
BuiltinFunctionType = type(len)
|
|
BuiltinMethodType = type([].append) # Same as BuiltinFunctionType
|
|
|
|
ModuleType = type(sys)
|
|
FileType = file
|
|
|
|
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 = slice
|
|
EllipsisType = 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 _types
|
|
except ImportError:
|
|
pass
|
|
else:
|
|
GetSetDescriptorType = type(_types.Helper.getter)
|
|
MemberDescriptorType = type(_types.Helper.member)
|
|
del _types
|
|
|
|
del sys, _f, _g, _C, # Not for export
|