Wunschliste

Diese Seite ist eine Ansammlung von Ideen für Python 3.0/3k, so ähnlich wie PEP 3000. Jeder der will, kann seine Ideen, am besten auch mit Begründung, hier einfügen.

Neuerungen, die für Python 3.0 geplant sind, stehen im PEP 3100. Alles was darin zu finden ist, bitte hier nicht noch einmal auflisten.

Sprache

input() <-> raw_input()

Schön wäre es, wenn input wegfällt oder z.B. in eval_input() oder so umbenannt werden würde. raw_input() sollte dann zum einfachen input() werden... Gerade Einsteiger wissen nicht was die beiden überhaupt unterscheidet und greifen zum nacheliegendsten input()... -- JensDiemer 2008-04-30 06:39:50

* imports in doku

In der offiziellen Doku bzw. dem Tutorial sind leider Sternchen imports zu finden. z.B. TKinter... Das sollte man besser nicht nutzten, damit Einsteiger nicht unnötige Sternchenimports machen ;) -- JensDiemer 2008-04-30 06:39:50

Kommentare

Ich wünsche mir dringend mehrzeilige Kommentare. Und ich wünsche mir, dass Kommentare mehr Richtung JavaDoc gehen.

Mir fehlen die

Nachtypisierung wie in Dylan ermöglichen

In diesem Thread zum Thema Python-Geschwindigkeit ist die Idee aufgetaucht, Python um (freiwillige) Typenfestlegungen für Variablen zu erweitern, um auf diese Weise die Performance steigern zu können. Wir haben uns die Idee dabei von Dylan angeguckt.

Zu prüfen wäre, inwiefern ein Python-Interpreter wirklich dadurch an Performance gewinnen könnte, und ob es damit eine Möglichkeit gäbe, eine Untermenge von Python festzulegen, die sich dann z.B. über den Umweg C direkt zu (vergleichweise schnellem) binary-code compilen lässt.

In PyPy ist das bereits verwirklicht worden. -- GeorgBrandl

Typisierung und Abstrakte Objekte

Fuer groessere OOP Projekte wuerde ich mir eine (alternative) Typisierung, sowie abstrakte Objekt Templates (also einfach gesagt kein DuckTyping, um Fehlerquellen zu minimieren) wuenschen. Ist eine Methode z.B. mit def myMethod(self, a, O1:b, c) definiert, dann muss b vom Typ O1 sein (oder abgeleitet). <axel@straschil.com>

Siehe dazu auch Guidos Blog: Python Optional Typechecking Redux -- GeorgBrandl

Module

guidialog

Es sollte ein eingebautes Modul geben, mit dem grafische Dialoge ausgegeben werden können. Dabei sollte geprüft werden, welches Betriebssystem verwendet wird. Bei Windows soll automatisch msgbox aus der Win-API für die Ausgabe verwendet werden. Ist kein GUI installiert, soll die Konsole für die Ausgabe heran gezogen werden. Natürlich soll das Ganze, wenn ein Flag gesetzt wurde, automatisch die im System eingestellte Sprache verwenden und anpasspar sein.

message_ok = Nachricht, die in einem Fenster (z.B. msgbox) angezeigt wird und mit einem Klick auf die Schaltfläche "OK" geschlossen wird. Auf der Konsole könnte das z.B. so aussehen: "Das ist eine Nachricht. [Press ENTER to continue]".

message_yesno = Nachricht, die in einem Fenster (z.B. msgbox) angezeigt wird und zwei Schaltflächen mit den Beschriftungen "Yes", "No" anbietet. Auf der Konsole könnte das z.B. so aussehen: "Möchten Sie fortfahren? [Y/n]".

message_yesnocancel = Gleich wie message_yesno mit der zusätzlichen Schaltfläche "Cancel".

input = Einfache Eingabe von Texten möglich. Auf der Konsole könnte das dann so aussehen: "Geben Sie Ihren Namen ein: [If finished - press ENTER to continue]".

...

Es gibt gute Ansätze aber noch kein Modul, welches wirklich systemübergreifend funktioniert. Oder doch??? -- GeroldPenz

Hmm, sowas wäre eigentlich gar nicht so schwer zu schreiben, wie ich dank pywin32, PyGtk, wxPython, PyQt und TkInter denke. Eines von den Modulen müsste halt installiert sein, dann könnte man sowas wohl auch in purem Python schreiben. -- MarekKubica

Wäre es nicht sinnvoller, z.B. wxPython auszubauen, das kann ja schon recht viel und auf recht vielen Plattformen? -- HenningHasemann

Also ich bin inzwischen ein rechter Verfechter dieser Idee, und habe auf meiner persönlichen WikiHomePage noch ein paar weitere Items vorgeschlagen. Wenn ich irgendwann mal ein bisschen Zeit übrig haben sollte, baue ich das ganze Mal zu einem vernünftigen Modell aus und wenn ich dann auch noch wen finde, der mitmacht, kann mans auch mal implementieren :-) -- HenningHasemann

Tkinter funktioniert doch ganz gut plattformübergreifend. Und tkMessageBox etc. auch. -- GeorgBrandl

String-formatter

Schön wäre ein String-Formater für Zahlen, mit Tausender-Punkten. Dann müßte man sich das nicht mehr selber basteln.

Wunsch wird erfuellt py3.1 - pep378.

Timeout bei urllib und Co.

Ab Python 2.3 kann man dem setzten von socket.setdefaulttimeout() einen Timeout festlegen, aber schön wäre es, wenn man sowas direkt machen kann. z.B.:

   1 urllib.urlopen( "http://blabla.de", timeout=2 )

Dokumentation

Die offizielle Dokumentation sollte viel mehr Beispiele beinhalten, damit man nicht erst viel Rumdoktorn muß, sondern schneller ans Ziel kommt :) Ich würde es begrüßen, wenn man diese Beispiele, oder am liebsten sogar die ganze Doku, in ein Wiki verlagern würde, bei der jeder mitschreiben kann. Schön wäre auch, wenn es eine komplette deutsche Referenz geben würde.

Wunschliste (last edited 2009-06-17 16:14:16 by localhost)