|
1 | 1 | What's New in Python 2.1 beta 2? |
2 | 2 | ================================ |
3 | 3 |
|
| 4 | +(Unlisted are many fixed bugs, more documentation, etc.) |
| 5 | + |
4 | 6 | Core language, builtins, and interpreter |
5 | 7 |
|
| 8 | +- The nested scopes work (enabled by "from __future__ import |
| 9 | + nested_scopes") is completed; in particular, the future now extends |
| 10 | + into code executed through exec, eval() and execfile(), and into the |
| 11 | + interactive interpreter. |
| 12 | + |
| 13 | +- When calling a base class method (e.g. BaseClass.__init__(self)), |
| 14 | + this is now allowed even if self is not strictly spoken a class |
| 15 | + instance (e.g. when using metaclasses or the Don Beaudry hook). |
| 16 | + |
| 17 | +- Slice objects are now comparable but not hashable; this prevents |
| 18 | + dict[:] from being accepted but meaningless. |
| 19 | + |
| 20 | +- Complex division is now calculated using less braindead algorithms. |
| 21 | + This doesn't change semantics except it's more likely to give useful |
| 22 | + results in extreme cases. Complex repr() now uses full precision |
| 23 | + like float repr(). |
| 24 | + |
| 25 | +- sgmllib.py now calls handle_decl() for simple <!...> declarations. |
| 26 | + |
6 | 27 | Standard library |
7 | 28 |
|
8 | | -- A new module Tix was added, which wraps the Tix extension library for Tk. |
9 | | - With that module, it is not necessary to statically link Tix with _tkinter, |
10 | | - since Tix will be loaded with Tcl's "package require" command. |
| 29 | +- unittest.py, a unit testing framework by Steve Purcell (PyUNIT, |
| 30 | + inspired by JUnit), is now part of the standard library. You now |
| 31 | + have a choice of two testing frameworks: unittest requires you to |
| 32 | + write testcases as separate code, doctest gathers them from |
| 33 | + docstrings. Both approaches have their advantages and |
| 34 | + disadvantages. |
| 35 | + |
| 36 | +- A new module Tix was added, which wraps the Tix extension library |
| 37 | + for Tk. With that module, it is not necessary to statically link |
| 38 | + Tix with _tkinter, since Tix will be loaded with Tcl's "package |
| 39 | + require" command. See Demo/tix/. |
| 40 | + |
| 41 | +- tzparse.py is now obsolete. |
| 42 | + |
| 43 | +- In gzip.py, the seek() and tell() methods are removed -- they were |
| 44 | + non-functional anyway, and it's better if callers can test for their |
| 45 | + existence with hasattr(). |
| 46 | + |
| 47 | +Python/C API |
| 48 | + |
| 49 | +- PyDict_Next(): it is now safe to call PyDict_SetItem() with a key |
| 50 | + that's already in the dictionary during a PyDict_Next() iteration. |
| 51 | + This used to fail occasionally when a dictionary resize operation |
| 52 | + could be triggered that would rehash all the keys. All other |
| 53 | + modifications to the dictionary are still off-limits during a |
| 54 | + PyDict_Next() iteration! |
| 55 | + |
| 56 | +- New extended APIs related to passing compiler variables around. |
| 57 | + |
| 58 | +- New abstract APIs PyObject_IsInstance(), PyObject_IsSubclass() |
| 59 | + implement isinstance() and issubclass(). |
| 60 | + |
| 61 | +- Py_BuildValue() now has a "D" conversion to create a Python complex |
| 62 | + number from a Py_complex C value. |
11 | 63 |
|
12 | 64 | What's New in Python 2.1 beta 1? |
13 | 65 | ================================ |
|
0 commit comments