Schlangenfutter

Python 3.1 erschienen

Python 3.1 erschienen

Tim Schürmann
01.07.2009 Die neue Version soll stabiler und in einigen Teilen schneller laufen. Darüber hinaus wurden einige der mit Python 3.0 eingeführten Sprachelemente optimiert und erweitert. Mit den Ordered Dictionarys gibt es sogar eine neue Datenstruktur.

Das I/O-System wurde nach Angaben der Entwickler in C komplett neu geschrieben und arbeitet dadurch wesentlich flotter - die Release Notes sprechen von einer 2 bis 20-fachen Geschwindigkeitssteigerung. Die Dateisystem-API verdaut nun auch Unicode Strings, die nicht dekodierbare Zeichen enthalten.

Neu hinzugekommen sind Ordererd Dictionarys. Im Gegensatz zu den normalen Dictionarys berücksichtigen sie die Reihenfolge der in ihnen gespeicherten Elemente. Die Ordnung richtet sich dabei nach dem Zeitpunkt, zu dem ein Schlüssel zum ersten Mal eingefügt wurde. Überschreibt man nur den Wert eines schon vorhandenen Schlüssels, bleibt die Position des Schlüssel-Wertepaares im Dictionary erhalten. Erst wenn man den Eintrag komplett löscht und dann den Schlüssel erneut einfügt, wandert er an das Ende der Sortierreihenfolge.

Eine weitere Neuerung betrifft die eingebauten format() und str.format()-Funktionen. Sie erlauben es nun in Zahlen die Tausender-Stellen beispielsweise mit einem Punkt abzusetzen. Darüber hinaus nummeriert Python auf Wunsch die die Felder in format()-Strings automatisch durch.

Der int()-Typ verfügt jetzt über eine bit_length-Methode, die die Anzahl der Bits zurück gibt, notwendig sind, um ihr Argument im Binärformat auszugeben. Die string.maketrans()-Funktion wurde ausgemustert und gegen die neuen statischen Methoden bytes.maketrans() und bytearray.maketrans() ersetzt. Damit haben jetzt str, bytes und bytearray jeweils ihre eigenen maketrans und translate-Methoden.

Neu ist das Modul importlib, das eine Python-Referenzimplementierung der import-Anweisung und der __import__() Funktion anbietet. Verschachtelte with-Statements lassen sich wesentlich kompakter formulieren, round(x, n) liefert eine Integer-Zahl zurück, sofern x ein Integer ist und die collections.Counter Klasse zählt die eindeutigen Elemente in einer Sequenz oder einem iterierbaren Objekt.

Das Modul für Unit-Tests kann jetzt einzelne Tests oder Testklassen überspringen (Test-Skipping) und erlaubt es, bekanntermaßen oder sehr wahrscheinlich fehlschlagende Tests als solche in der Auswertung verschwinden zu lassen. Ergänzend spendierten die Entwickler weitere assert-Methoden.

Alle weiteren Änderungen beschreiben ausführlich die Release Notes. Programmierer erhalten die neue Version auf der Python-Homepage oder warten bis entsprechende Pakete in den Repositories der Distributionen auftauchen.

Python 3.1 ist die erste überarbeitete Fassung der vor gut einem halben Jahr veröffentlichten Version 3.0, die in vielen Teilen mit ihren Vorgängern brach.

Ähnliche Artikel

  • Programmieren lernen in fünf Schritten
    Ob Sie nur ein kleines Administrationsskript entwickeln oder eine umfangreiche Anwendung entwickeln – mit Python geht beides leicht von der Hand.
  • Typische Fehler in Python-Code vermeiden
    Python ist einfach – aber nicht so einfach, dass man es allein durch Lesen von Code lernen könnte. Mit etwas Hintergrundwissen vermeiden Sie typische Fehler in Python-Code und schreiben so bessere Programme.
  • Entwicklungshelfer
    Nachdem in den ersten Teilen der Python-Einführung die Sprache beschrieben wurde, geht es im letzten Teil um nützliche Hilfen rund um Python.
  • Einfache Architektur
    Spezialmethoden und geschicktes Vererben von Klassenmethoden vereinfachen das Programmieren mit Python drastisch. Unser Workshop zeigt, welche Tricks die Skriptsprache auf Lager hat.
  • Check inklusive
    Wer mit Python programmiert, bekommt mit dem Doctest-Modul eine einfache Möglichkeit, die Programmfunktionen anschaulich zu dokumentieren und gleichzeitig zu testen.

Kommentare
funktionieren Sprachanbindungen mit swig ?
pvb (unangemeldet), Donnerstag, 02. Juli 2009 11:33:47
Ein/Ausklappen

Funktionieren mit Phyton 3 auch die Sprachanbindungen,
die mit
http://www.swig.org/
generiert wurden ?


Bewertung: 102 Punkte bei 13 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Aktuelle Fragen

Fernwartung oder wartung im haus
heide marie voigt, 29.06.2015 10:37, 2 Antworten
gerne hätte ich jemanden in Bremen nord, der mir weiter hilft - angebote bitte mit preis HMVoigt
Druckeranschluss DCP-195C
heide marie voigt, 29.06.2015 10:35, 1 Antworten
installiert ist linux ubuntu 15.04 offenbar auch der treiber für den Drucker DCP-195C. Die Konta...
keine arbeitsleiste beim einloggen
heide marie voigt, 27.06.2015 13:31, 0 Antworten
seit der neu-installierung von linux ubuntu 15.04 erscheint die arbeitsleiste rechts oben erst na...
raid platte an linux mint 17.1
andreas schug, 23.06.2015 19:44, 1 Antworten
folgende thematik NAS Iomega Storage Center wird auf einmal nicht mehr im netzwerk erkannt .....
SUSE 13.2 - Probleme mit kmail
kris kelvin, 03.06.2015 13:26, 2 Antworten
Hallo, nach dem Umstieg auf 13.1 hatte ich das Problem, daß kmail extrem langsam reagierte. Nun...