markup, wrapping
This commit is contained in:
parent
2042beaefb
commit
13a33836fb
70
pep-3000.txt
70
pep-3000.txt
|
@ -2,13 +2,13 @@ PEP: 3000
|
|||
Title: Python 3.0 Plans
|
||||
Version: $Revision$
|
||||
Last-Modified: $Date$
|
||||
Author: A.M. Kuchling <amk@amk.ca>,
|
||||
Author: A.M. Kuchling <amk@amk.ca>,
|
||||
Brett Cannon <drifty@alum.berkeley.edu>
|
||||
Status: Draft
|
||||
Type: Informational
|
||||
Content-Type: text/x-rst
|
||||
Created: 20-Aug-2004
|
||||
Post-History:
|
||||
Post-History:
|
||||
|
||||
|
||||
Abstract
|
||||
|
@ -16,7 +16,7 @@ Abstract
|
|||
|
||||
This PEP describes the changes currently envisioned in Python 3.0, a
|
||||
hypothetical future release of Python that can break backwards
|
||||
compatibility with the existing body of Python code.
|
||||
compatibility with the existing body of Python code.
|
||||
|
||||
The list of features included in this document is subject to change
|
||||
and isn't binding on the Python development community; features may be
|
||||
|
@ -27,7 +27,8 @@ to focus our language development effort on changes that are steps to
|
|||
This document is not a wish-list that anyone can extend. While there
|
||||
are two authors of this PEP, we're just supplying the text; the
|
||||
decisions for which changes are listed in this document are made by
|
||||
Guido van Rossum, who has chosen them as goals for Python 3.0.
|
||||
Guido van Rossum, who has chosen them as goals for Python 3.0.
|
||||
|
||||
|
||||
General goals
|
||||
=============
|
||||
|
@ -42,7 +43,7 @@ Core language
|
|||
|
||||
* Remove distinction between int and long types. [1]_
|
||||
* Make all strings be Unicode, and have a separate bytes() type. [1]_
|
||||
* `exec` as a statement is not worth it -- make it a function
|
||||
* ``exec`` as a statement is not worth it -- make it a function
|
||||
* Add optional declarations for static typing
|
||||
* Support only new-style classes; classic classes will be gone. [1]_
|
||||
* Add a 'with' statement::
|
||||
|
@ -52,18 +53,19 @@ Core language
|
|||
.bar(4, .foo)
|
||||
|
||||
* Return iterators instead of lists
|
||||
* `d.keys()`, `.values()`, `.items()`
|
||||
* `range()`, `zip()`
|
||||
* Replace `print` by a function: `write(x,y,z)`, `writeln(x,y,z)` [2]_
|
||||
* Do something so you can catch multiple exceptions using `except E1,
|
||||
E2, E3:`. Maybe use `except E1, E2, E3 as err:` if you want the error
|
||||
variable? [3]_
|
||||
* ``d.keys()``, ``.values()``, ``.items()``
|
||||
* ``range()``, ``zip()``
|
||||
* Replace ``print`` by a function: ``write(x,y,z)``,
|
||||
``writeln(x,y,z)`` [2]_
|
||||
* Do something so you can catch multiple exceptions using ``except E1,
|
||||
E2, E3:``. Maybe use ``except E1, E2, E3 as err:`` if you want the
|
||||
error variable? [3]_
|
||||
|
||||
To be removed:
|
||||
|
||||
* The `lambda` statement [1]_
|
||||
* The ``lambda`` statement [1]_
|
||||
* String exceptions [2]_
|
||||
* ``\`x\```: use `repr(x)` [2]_
|
||||
* ```x```: use ``repr(x)`` [2]_
|
||||
|
||||
|
||||
Built-ins
|
||||
|
@ -71,24 +73,26 @@ Built-ins
|
|||
|
||||
Changes:
|
||||
|
||||
* make `range()` return an iterator
|
||||
* Relevant functions should consume iterators (e.g. `min()`, `max()`)
|
||||
|
||||
* make ``range()`` return an iterator
|
||||
* Relevant functions should consume iterators (e.g. ``min()``,
|
||||
``max()``)
|
||||
|
||||
|
||||
To be removed:
|
||||
|
||||
* `apply()`: use `f(*args, **kw)` instead [2]_
|
||||
* `buffer()`: must die (use a bytes() type instead) [2]_
|
||||
* `callable()`: just call the object and catch the exception [2]_
|
||||
* `compile()`: put in `sys` (or perhaps in a module of its own) [2]_
|
||||
* `coerce()`: no longer needed [2]_
|
||||
* `execfile()`, `reload()`: use `exec()` [2]_
|
||||
* `input()`: use `eval(sys.stdin.readline())` [2]_
|
||||
* `intern()`, `id()`: put in `sys` [2]_
|
||||
* `map()`, `filter()`: use list comprehensions instead [1]_
|
||||
* `raw_input()`: use `sys.stdin.readline()` [2]_
|
||||
* `reduce()`: write a loop instead [2]_
|
||||
* `xrange()`: use `range()` instead [1]_
|
||||
* ``apply()``: use ``f(*args, **kw)`` instead [2]_
|
||||
* ``buffer()``: must die (use a bytes() type instead) [2]_
|
||||
* ``callable()``: just call the object and catch the exception [2]_
|
||||
* ``compile()``: put in ``sys`` (or perhaps in a module of its own)
|
||||
[2]_
|
||||
* ``coerce()``: no longer needed [2]_
|
||||
* ``execfile()``, ``reload()``: use ``exec()`` [2]_
|
||||
* ``input()``: use ``eval(sys.stdin.readline())`` [2]_
|
||||
* ``intern()``, ``id()``: put in ``sys`` [2]_
|
||||
* ``map()``, ``filter()``: use list comprehensions instead [1]_
|
||||
* ``raw_input()``: use ``sys.stdin.readline()`` [2]_
|
||||
* ``reduce()``: write a loop instead [2]_
|
||||
* ``xrange()``: use ``range()`` instead [1]_
|
||||
|
||||
|
||||
Standard library
|
||||
|
@ -98,20 +102,20 @@ Reorganize the standard library into packages
|
|||
|
||||
To be removed:
|
||||
|
||||
* `string` and other deprecated modules [1]_
|
||||
* `sys.exc_type`: not thread-safe; use `sys.exc_info` [2]_
|
||||
* ``string`` and other deprecated modules [1]_
|
||||
* ``sys.exc_type``: not thread-safe; use ``sys.exc_info`` [2]_
|
||||
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
.. [1] PyCon 2003 State of the Union:
|
||||
.. [1] PyCon 2003 State of the Union:
|
||||
http://www.python.org/doc/essays/ppt/pycon2003/pycon2003.ppt
|
||||
|
||||
.. [2] Python Regrets:
|
||||
.. [2] Python Regrets:
|
||||
http://www.python.org/doc/essays/ppt/regrets/PythonRegrets.pdf
|
||||
|
||||
.. [3] Python Wiki:
|
||||
.. [3] Python Wiki:
|
||||
http://www.python.org/moin/Python3.0
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue