Python 3.0 Alpha 1 verfügbar

Die erste Alpha-Version von Python 3.0, auch bekannt als Python 3000 (scherzhaft nach dem voraussichtlichen Erscheinungsjahr benannt), ist auf der Python-Website verfügbar. Sie ist vor allem für Programmierer gedacht, die einen ersten Eindruck von Python 3 haben möchten.

Im Lauf des Jahres wird es noch mehrere Alpha-Versionen geben, im 2008 dann Betas und die finale Version ist für August 2008, also in einem Jahr geplant. Bin gespannt was zuerst draussen ist, Python 3 oder Ruby 2 – am Ende noch Perl 6 ;) .

Bei Python habe ich ein gutes Gefühl, der ganze Prozess wird in diversen PEPs (Python Enhancement Proposals) ziemlich transparent dokumentiert und auch die Mailing-Liste Python 3000 ist informativ.

Diese Präsentation von Guido zeigt die wichtigsten Änderungen im Vergleich mit Python 2. Hier meine Zusammenfassung, mit Links zu den PEPs:

  • Viele Altlasten (z. B. klassische Klassen) entfernt und generell Codebasis verbessert
  • bytes und str anstatt str und unicode, also Strings sind standardmässig Unicode-Strings, zu/von bytes muss explizit konvertiert werden
  • Ein-/Ausgabe überarbeitet, verschachtelbare Streams wie in Java, aber grundlegende Dinge bleiben einfach
  • Neue String-Formatierung, "{0.name} ({0.alter})".format(person) anstatt "%s (%i)" % (person.name, person.alter)
  • Abstrakte Basisklassen (ABCs) für eingebaute und eigene Klassen; ähnlich wie Interfaces von Java, nur dass Methoden auch Implementierung haben können und dank Mehrfachvererbung von mehreren abgeleitet werden kann
  • Optionale Annotationen für Funktionsparameter wie zum Beispiel def haul(item: Haulable, *vargs: PackAnimal), die für Python selber keine Bedeutung haben, aber zum Beispiel für generische Funktionen verwendet werden können
  • range(), zip(), map(), filter() geben Iteratoren zurück
  • dict.keys() und ähnliche geben nicht mehr eine Liste zurück, sondern eine View (Sicht), was schneller ist

Ach ja, Python 3 wird keine geschweiften Klammern anstelle von Einrückung verwenden, hier Pythons Meinung dazu:

>>> from __future__ import braces
  File "<stdin>", line 1
SyntaxError: not a chance

:) . python -c 'import this' ist auch was lustiges zum ausprobieren.

Dieser Beitrag wurde unter Programmieren, Software abgelegt und mit verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Die Kommentarfunktion ist geschlossen.