139 lines
3.0 KiB
Plaintext
139 lines
3.0 KiB
Plaintext
+++++++++++
|
|
Python News
|
|
+++++++++++
|
|
|
|
(editors: check NEWS.help for information about editing NEWS using ReST.)
|
|
|
|
What's New in Python 3000?
|
|
==========================
|
|
|
|
*Release date: XX-XXX-200X*
|
|
|
|
TO DO
|
|
-----
|
|
|
|
- See PEP 3000, 3100.
|
|
|
|
- Test merging certain changes from the 2.5 HEAD code.
|
|
|
|
- Weed really old/weird stuff from the library.
|
|
|
|
- Unify range() and xrange().
|
|
|
|
- Revamp the dict API: keys(), values(), items() return iterators, etc.
|
|
|
|
- Add the bytes type.
|
|
|
|
- Rework the standard I/O library to use bytes for binary files.
|
|
|
|
- Make strings all Unicode.
|
|
|
|
- Get rid of classic class implementation.
|
|
|
|
- Get rid of various compatibility-related flags (e.g. division flags).
|
|
|
|
|
|
Core and Builtins
|
|
-----------------
|
|
|
|
- Int/Long unification is halfway complete. There are a few broken tests,
|
|
the 'long' built-in hasn't been removed yet, and literals with trailing
|
|
'L' or 'l' are still recognized. Performance may be sub-optimal.
|
|
|
|
- 'except E, V' must now be spelled as 'except E as V' and deletes V
|
|
at the end of the except clause; V must be a simple name.
|
|
|
|
- Added function annotations per PEP 3107.
|
|
|
|
- Moved intern() to sys.intern().
|
|
|
|
- exec is now a function.
|
|
|
|
- Renamed nb_nonzero to nb_bool and __nonzero__ to __bool__.
|
|
|
|
- Classic classes are a thing of the past. All classes are new style.
|
|
|
|
- Exceptions *must* derive from BaseException.
|
|
|
|
- Integer division always returns a float. The -Q option is no more.
|
|
All the following are gone:
|
|
* PyNumber_Divide and PyNumber_InPlaceDivide
|
|
* __div__, __rdiv__, and __idiv__
|
|
* nb_divide, nb_inplace_divide
|
|
* operator.div, operator.idiv, operator.__div__, operator.__idiv__
|
|
(Only __truediv__ and __floordiv__ remain, not sure how to handle them
|
|
if we want to re-use __div__ and friends. If we do, it will make
|
|
it harder to write code for both 2.x and 3.x.)
|
|
|
|
- 'as' and 'with' are keywords.
|
|
|
|
- Absolute import is the default behavior for 'import foo' etc.
|
|
|
|
- Removed support for syntax:
|
|
backticks (`x`), <>
|
|
|
|
- Removed these Python builtins:
|
|
apply(), coerce(), input(), raw_input()
|
|
|
|
- Removed these Python methods:
|
|
{}.has_key
|
|
|
|
- Removed these Python slots:
|
|
__coerce__, __div__, __idiv__, __rdiv__
|
|
|
|
- Removed these attributes from Python modules:
|
|
* operator module: div, idiv, __div__, __idiv__
|
|
|
|
- Removed these C APIs:
|
|
PyNumber_Coerce(), PyNumber_CoerceEx()
|
|
|
|
- Removed these C slots/fields:
|
|
nb_divide, nb_inplace_divide
|
|
|
|
- Removed these macros:
|
|
staticforward, statichere, PyArg_GetInt, PyArg_NoArgs
|
|
|
|
- Removed these typedefs:
|
|
intargfunc, intintargfunc, intobjargproc, intintobjargproc,
|
|
getreadbufferproc, getwritebufferproc, getsegcountproc, getcharbufferproc
|
|
|
|
- Removed these opcodes:
|
|
BINARY_DIVIDE, INPLACE_DIVIDE, UNARY_CONVERT
|
|
|
|
- zip returns an iterator
|
|
|
|
- Additions:
|
|
set literals, ellipsis literal
|
|
|
|
|
|
Extension Modules
|
|
-----------------
|
|
|
|
Library
|
|
-------
|
|
|
|
- Removed all traces of the sets module.
|
|
|
|
Build
|
|
-----
|
|
|
|
C API
|
|
-----
|
|
|
|
Tests
|
|
-----
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
Mac
|
|
---
|
|
|
|
New platforms
|
|
-------------
|
|
|
|
Tools/Demos
|
|
-----------
|
|
|
|
**(For information about older versions, consult the HISTORY file.)**
|