Python 3.1 erschienen

Python 3.1 erschienen

Schlangenfutter

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: 282 Punkte bei 54 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Aktuelle Fragen

WLAN lässt sich nicht einrichten
Werner Hahn, 21.03.2017 14:16, 0 Antworten
Dell Latitude E6510, Ubuntu 16.4, Kabelbox von Telecolumbus. Nach Anklicken des Doppelpfeiles (o...
"Mit Gwenview importieren" funktioniert seit openSuse 42.2 nicht mehr
Wimpy *, 20.03.2017 13:34, 2 Antworten
Bisher konnte ich von Digitalkamera oder SD-Karte oder USB-Stick Fotos mit Gwenview importieren....
Ich habe eine awk Aufgabe und bekomme es nicht so Recht hin
Dennis Hamacher, 10.03.2017 18:27, 1 Antworten
Ich hoffe Ihr könnt mir dabei helfen oder mir zeigen wie der Befehl richtig geschrieben wird. Ich...
Unter Linux Open Suse Leap 42.1 einen Windows Boot/ ISO USB Stick erstellen...
Tim Koetsier, 07.03.2017 15:26, 1 Antworten
Hallo, weiß jemand wie ich oben genanntes Vorhaben in die Tat umsetzen kann ? Wäre echt dankba...
Druckertreiber installieren OpenSuse42.1
Tim Koetsier, 07.03.2017 15:22, 1 Antworten
hallo, kann mir BITTE jemand helfen ich verzweifel so langsam. Habe einen Super Toner von Canon...