Countdown zu Python 2.6 und Python 3.0
Die letzten geplanten Beta-Releases von Python 2.6 und Python 3.0 sind erschienen. Die Python-Entwickler planen die finalen Versionen nach zwei Release Candidates am 1. Oktober zu veröffentlichen.
Mit Python 3.0 beginnt eine neue Entwicklungsstufe der Sprach-Evolution bei Python. Alter Ballast wird über Bord geworfen, Klassen umbenannt und grundsätzliche Funktionen verändert - Python soll zugleich kompakter und mächtiger werden.
Aufgrund dieser Veränderungen sind Python-2- und Python-3-Code nicht miteinander kompatibel. Die 2er-Produktlinie soll jedoch noch ungefähr 5 Jahre gesondert betreut werden. Python-3-Features werden so weit wie möglich auch in die Versionszweig 2 zurück portiert. Guido van Rossum will mindestens noch Python 2.7, vielleicht auch noch Python 2.8 veröffentlichen.
Die Python-Entwickler bemühen sich, den Umstieg auf das neue Python so problemlos wie möglich zu gestalten. Ein Source-Code-Translator mit Namen "2to3" soll Code für Version 2 so weit möglich automatisch in Python-3-Code übersetzen. Die Verwendung des Switches "-3" veranlasst Python ab Version 2.6 dazu, bei der Verwendung von für die automatische Übersetzung kritischen Konstrukten zu warnen.
Mit Python 3 wird Unicode Standard - Zeichenketten sind standardmäßig Unicode, Textfiles werden in Unicode-Kodierung geschrieben und Python-Files sind standardmäßig UTF-8-kodiert. Die Print-Funktion ändert sich und ist endlich nicht mehr die einzige Python-Funktion, die von der üblichen Aufrufsyntax abweicht. Anstelle von Listen werden insbesondere bei funktionalen Konstrukten wie "map()" oder "filter()" wann immer möglich Iteratoren und Views zurückgegeben. Weitere Änderungen erfuhren das Exception-Handling, sowie die Klassenstrukturen. Einen kurzen Überblick über die zahlreichen Änderungen bieten ein "What's New"-Dokument sowie van Rossums Präsentation von der Pycon 2008 (PDF).
Die augenfälligsten Änderungen in Python 2.6 sind relative Imports (PEP 366), die Aufnahme des "with"-Staments in den regulären Sprachumfang (PEP 343), Nutzerspezifische "site-packages" (PEP 370), das "multiprocessing"-Paket zur parallelen Verarbeitung in Prozessen, ein Backport des "Advanced String Formatting" und der "print()"-Funktion aus Python3. Einen vollständigen Überblick bietet die Python-Dokumentationsseite.
Das Installieren und Ausprobieren funktioniert mittlerweile problemlos auch parallel zu den stabilen Interpretern. Im interaktiven Modus lassen sich die beiden Python-Entwicklungszweige auf einfache Weise praktisch erforschen und kennen lernen.





