Python 3.0 ist da
Python 3.0 ist in der finalen Version verfügbar. Damit haben die Whitespace-Dompteure klar das Rennen gegen die Geschweifte-Klammern-Magier PHP und Perl auf ihren jeweiligen verschlungenen Wegen zur “6″ vor dem Punkt gewonnen. Die ausführlichen Änderungen in Python 3.0 sind in einem schönen Übersichtsartikel zusammengefasst:
- Aus dem
print-Statement mit all seinen Raffinessen wird in 3.0 eine schnöde Funktion. map(),filter()undzip()geben Iteratoren zurück.- Die
dict-Methoden liefern Views statt Listen; entsprechend werdendict.iterkeys(),dict.iteritems()anddict.itervalues()nicht mehr unterstützt. - Vergleiche (und daraus abgeleitet: die Sortierung) können nur noch auf vergleichbaren Werten durchgeführt werden.
1 < ''gibt einen TypeError. - Die Unicode-Behandlung wurde komplett verändert. Anstatt Unicode-Strings und 8-Bit-Strings gibt es nun nur noch Unicode-Strings (Typ
str) und Binärdaten (Typbytes). Diese beiden Typen sind nicht miteinander kompatibel, sondern müssen explizit ineinander umgewandelt werden. - Der String-Formatierungsoperator
%ist noch vorhanden, wird aber mit 3.1 als deprecated eingestuft. - Diverse Syntax-Änderungen
- Diverse Änderungen der Standard-Library
Alles in allem genügend Änderungen, um den Versionssprung auf 3.0 zu rechtfertigen - und um Scriptautoren einige Hausaufgaben bei der Umstellung alter Scripte zu geben. Insbesondere die komplette Änderung in Sachen Unicode und die damit zusammenhängende Überarbeitung aller Stellen in den Scripten, die Text bearbeiten, kann einen gehörigen Aufwand auslösen. Und ähnlich sieht es dort aus, wo intensiv mit Dictionaries und Listen gearbeitet wurde.
Aber trotz aller Änderungen scheint Python auch Python zu bleiben. Perl 6 hingegen soll ja eine mehr oder weniger neue Sprache zu werden.
Save This Page