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

Aktuelle Fragen

Admin Probleme mit Q4os
Thomas Weiss, 30.03.2015 20:27, 6 Antworten
Hallo Leute, ich habe zwei Fragen zu Q4os. Die Installation auf meinem Dell Latitude D600 verl...
eeepc 1005HA externer sound Ausgang geht nicht
Dieter Drewanz, 18.03.2015 15:00, 1 Antworten
Hallo LC, nach dem Update () funktioniert unter KDE der externe Soundausgang an der Klinkenbuc...
AceCad DigiMemo A 402
Dr. Ulrich Andree, 15.03.2015 17:38, 2 Antworten
Moin zusammen, ich habe mir den elektronischen Notizblock "AceCad DigiMemo A 402" zugelegt und m...
Start-Job behindert Bootvorgang, Suse 13.2, KDE,
Wimpy *, 20.02.2015 10:32, 4 Antworten
Beim Bootvorgang ist ein Timeout von 1 Min 30 Sec. weil eine Partition sdb1 gesucht und nicht gef...
Konfiguration RAID 1 mit 2 SSDs: Performance?
Markus Mertens, 16.02.2015 10:02, 6 Antworten
Hallo! Ich möchte bei einer Workstation (2x Xeon E5-2687Wv3, 256GB RAM) 2 SATA-SSDs (512GB) al...