Python 3.0 ist da

Stefan - 4. Dezember 2008

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() und zip() geben Iteratoren zurück.
  • Die dict-Methoden liefern Views statt Listen; entsprechend werden dict.iterkeys(), dict.iteritems() and dict.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 (Typ bytes). 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.

Abgelegt in: Python

Schreibe einen Kommentar
benötigt
benötigt (wird nicht angezeigt)
optional

Suchen