Login
Newsletter
Werbung

Mi, 1. Juli 2009, 09:24

Software::Entwicklung

Python 3.1 erschienen

Knapp sieben Monate nach Python 3.0 bringt Version 3.1 kleinere Spracherweiterungen und Optimierungen.

Python ist eine objektorientierte Skriptsprache, die mit Perl, Ruby und ähnlichen Sprachen konkurriert. Ihre Besonderheiten sind die Verwendung von Einrückungen statt Klammern zur Definition von Kontrollstrukturen und die Möglichkeit, plattformunabhängigen Bytecode zu erzeugen.

Python 3.1 ist nach Angaben der Entwickler eine Fortführung der Entwicklung von Python 3.0, die erstmals in der Geschichte Inkompatibilitäten mit früheren Versionen in Kauf nahm. Wer seine Programme noch nicht auf Python 3.0 portiert hat, kann weiterhin Version 2.6 einsetzen.

Zu den Neuerungen in Python 3.1 gehören geordnete Dictionaries, die in Form einer neuen Klasse zur Verfügung gestellt werden. Die Einträge bleiben darin jederzeit in der Reihenfolge der Einfügung geordnet. Es gibt nun eine Möglichkeit, die Formatierung von Tausendern bei der Ausgabe von Zahlen zu spezifizieren. Neue Unit-Test-Features wie das Auslassen von Tests und neue Assert-Methoden wurden implementiert. Die GUI-Bibliothek Tkinter erhielt ein neues Modul ttk, mit dem das Aussehen von Widgets mit Themes gesteuert wird. Für die Import-Anweisung gibt es nun eine Referenz-Implementation in reinem Python. Verschachtelte with-Anweisungen lassen sich nun kürzer schreiben.

Die neue Ein/Ausgabe-Bibliothek, die in Version 3.0 überwiegend in Python geschrieben war, wurde wegen ihrer schlechten Leistung durch eine mehrfach schnellere Implementation in C ersetzt. Der Overhead des Garbage Collectors wurde in einigen Fällen reduziert. Die Bytecode-Auswertung und damit die Gesamtgeschwindigkeit wurde etwas beschleunigt, wenn Python mit der Option --with-computed-gotos compiliert wird, was von GCC und anderen Compilern unterstützt wird. Auch die Dekodierung der Zeichensätze UTF-8, UTF-16 und LATIN-1 wurde beschleunigt. Ähnlich wie das Ein/Ausgabe-Modul wurde auch das json-Modul durch eine C-Implementation beschleunigt.

Daneben gab es kleinere Verbesserungen in der Sprache und in den Standard-Modulen. Die Inkompatibilitäten zwischen Python 3.0 und 3.1 sind den Entwicklern zufolge minimal. Ein ausführliches Änderungslog ist verfügbar.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung