Differences between revisions 1 and 6 (spanning 5 versions)
Revision 1 as of 2004-08-17 13:12:56
Size: 547
Comment:
Revision 6 as of 2004-08-19 03:11:49
Size: 1511
Editor: cpe-68-112-255-10
Comment: Escaped Python's repr backticks as MoinMoin applies special meaning to them.
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
* Reduce feature duplication:
  - string module vs. string methods
  - xrange() vs range()
  - int vs. long
  - 8 bit vs. Unicode strings
  - map/filter vs. list comprehensions
  - lambda vs. def
* Library reorganization
* Return iterators instead of lists
  - d.keys(), .values(), .items()
  - range(), zip(), map(), filter()
* Consume iterators
  - min(), max()
* Optional static typing?
* Support only new-style classes; classic classes will be gone.
(Another list is at PythonThreeDotOh, but it incorporates items that GvR has never talked about.)
Line 19: Line 5:
 * Reduce feature duplication:
   * string module vs. string methods
   * xrange() vs range()
   * int vs. long
   * 8 bit vs. Unicode strings
   * map/filter/reduce vs. list comprehensions
   * lambda vs. def
 * Library reorganization
 * Return iterators instead of lists
   * d.keys(), .values(), .items()
   * range(), zip(), map(), filter()
 * Consume iterators
   * min(), max()
 * Optional static typing?
 * Support only new-style classes; classic classes will be gone.
 * Remove string exceptions, {{{`}}}x{{{`}}} for repr(x), sys.exc_type, coerce(), other deprecated stuff
 * print as a function -- write(x,y,z), writeln(x,y,z)

See the "Python Regrets" talk and other recent presentations by Guido.

== Other Ideas from the BDFL ==

 * I want to reserve the leading dot for attribute assignment to a special object specified by a 'with' statement, e.g. {{{
with self:
    .foo = [1, 2, 3]
    .bar(4, .foo)
}}}

== Rearrangements ==

intern(), id(): put in sys

xrange(): make range() return an iterator

buffer(): must die (use bytes, PEP 296)

raw_input(): use sys.stdin.readline()

input(): use eval(sys.stdin.readline())

callable(): just call it, already

execfile(), reload(): use exec()

compile(): put in sys

exec as a statement is not worth it -- make it a function

This page lists features that GvR has mentioned as goals for Python 3.0.

(Another list is at PythonThreeDotOh, but it incorporates items that GvR has never talked about.)

  • Reduce feature duplication:
    • string module vs. string methods
    • xrange() vs range()
    • int vs. long
    • 8 bit vs. Unicode strings
    • map/filter/reduce vs. list comprehensions
    • lambda vs. def
  • Library reorganization
  • Return iterators instead of lists
    • d.keys(), .values(), .items()
    • range(), zip(), map(), filter()
  • Consume iterators
    • min(), max()
  • Optional static typing?
  • Support only new-style classes; classic classes will be gone.
  • Remove string exceptions, `x` for repr(x), sys.exc_type, coerce(), other deprecated stuff

  • print as a function -- write(x,y,z), writeln(x,y,z)

See the "Python Regrets" talk and other recent presentations by Guido.

Other Ideas from the BDFL

  • I want to reserve the leading dot for attribute assignment to a special object specified by a 'with' statement, e.g.

    with self:
        .foo = [1, 2, 3]
        .bar(4, .foo)

Rearrangements

intern(), id(): put in sys

xrange(): make range() return an iterator

buffer(): must die (use bytes, PEP 296)

raw_input(): use sys.stdin.readline()

input(): use eval(sys.stdin.readline())

callable(): just call it, already

execfile(), reload(): use exec()

compile(): put in sys

exec as a statement is not worth it -- make it a function

Python3.0 (last edited 2011-04-08 16:42:51 by ip-109-90-196-137)

Unable to edit the page? See the FrontPage for instructions.