Seite 1 von 5
Verfasst: Mittwoch 28. November 2007, 16:31
von birkenfeld
Leonidas hat geschrieben:Zu der Doppelpunkt-Problematik: bin ich der einzige, der nach dem Dekorator einen Doppelpunkt schreibt?
Du wärst zumindest der einzige, bei dem das keinen SyntaxError wirft...
Verfasst: Mittwoch 28. November 2007, 16:35
von Leonidas
Tuts auch nicht, denn nachdem ich das mache fällt mir das daraufhin ins Auge und ich korrigiere das

Verfasst: Mittwoch 28. November 2007, 16:52
von BlackJack
@veers: ``map(print, iterable)`` ist Böse™. Da konstruierst Du entweder eine unnötige Liste (wahrscheinlich `None`\s) bzw. wird in 3.0 `map()` ja einen Generator zurückgeben, d.h. Du musst dann doch wieder eine Schleife schreiben um die `print()`\s ausführen zu lassen.

Verfasst: Mittwoch 28. November 2007, 17:25
von birkenfeld
@BlackJack:
und schon is besser

Verfasst: Mittwoch 28. November 2007, 17:37
von gerold
Hallo birkenfeld!
birkenfeld hat geschrieben:Da bleibt mir nur noch übrig, dir, Gerold, gute Besserung zu wünschen
Vielen Dank!
birkenfeld hat geschrieben:und dir zu versichern, dass Python 3 kein Stück "schwieriger" wird als Python 2.
So etwas will ich hören. Das hat das Potenzial, mich wieder aufzubauen.
lg
Gerold

Verfasst: Mittwoch 28. November 2007, 18:40
von mitsuhiko
a) Metaklassen gab es schon mit 1.5
b) Dekoratoren wurden eingebaut weil mehr und mehr Leute Dekorator Funktionen geschrieben haben (siehe auch classmethod/staticmethod/property etc.)
c) kann man das nicht mit VB vergleichen
d) wird mit python3 die Sprache eher einfacher als komplizierter (nur noch eine Klassenart, print kein Statement mit eigentümlicher Verwendung [softspace anyone?], integer != float division etc.)
Verfasst: Mittwoch 28. November 2007, 18:48
von BlackJack
@birkenfeld: Ich finde den Namen etwas "unpythonisch", nicht nur wegen dem grossen 'M', sondern auch weil's so abgekürzt ist. Wie wär's mit `map_monad_and_ignore_results()`.

Verfasst: Donnerstag 29. November 2007, 09:14
von Rebecca
mitsuhiko hat geschrieben:print kein Statement mit eigentümlicher Verwendung [softspace anyone?]
Jo, jetzt faellt mir wieder ein, warum ich print, so wie es ist, nicht mag. Die Sache mit "Komma am Ende unterbindet Newline" ist doch auch total komisch.
Mmh. Ich glaube, ich muss mir das Python 3.0-Alpha demnaechst mal installieren und ausprobieren, der Thread hat mich ja schon neugierig gemacht.

Verfasst: Donnerstag 29. November 2007, 09:18
von gerold
Hi!
Ich glaube, bei der "print"-Sache habe ich keinen guten Stand.
lg
Gerold

Verfasst: Donnerstag 29. November 2007, 13:09
von BlackJack
@Rebecca: Das mit dem Komma am Ende ist überhaupt nicht komisch. Das hat meine erste Programmiersprache,
Commodore BASIC auf'm C64 auch so ähnlich, nur ist's da das Semikolon. Das Komma ist ein "Tab". Hab's danach bei allen anderen Sprachen vermisst, bis Python daher kam.

Verfasst: Donnerstag 29. November 2007, 13:51
von Leonidas
Also wirst du uns nach dem Release von Python 3.0 final verlassen? Na ich hoffe mal nicht

Verfasst: Donnerstag 29. November 2007, 15:02
von BlackJack
Ich bin noch schwer am überlegen. ``goto`` mit Zeilennummer als Ziel haben sie in die 3.0 auch noch nicht eingebaut. Diese strukturierte Programmierung und die Ausnahmen sind ja irgendwie nur eine Notlösung.

Verfasst: Donnerstag 29. November 2007, 15:15
von EyDu
Wenn man schon mal dabei ist, könnte man doch auch gleich die Statements und built-ins auf drei Zeichen normieren:
whl, lst, dct, ift (if then), elf, wth, ..., und natürlich for

Verfasst: Donnerstag 29. November 2007, 16:35
von Costi
diese zeilenbezogene gotos....
was ist wenn ich dan zum beispiel ganz oben im file noch ein kommentar hinzufuege!?
offtopic im offtopic: (lehst euch mal die "vorteile" durch)
https://layer-ads.de/qualitaet.htm
Verfasst: Donnerstag 29. November 2007, 16:45
von Rebecca
Deswegen nummeriert man in groesseren Schritten:
Dann kannst man zwischen Zeile 10 und 20 noch beruhigt eine Zeile 15 einfuegen...

Verfasst: Donnerstag 29. November 2007, 16:59
von BlackJack
Jede ernst zu nehmende Erweiterung des eingebauten BASICs hat auch einen RENUMBER-Befehl mit dem man Zeilen neu durchnummerieren kann, wobei selbstverständlich die Sprungbefehle angepasst werden. So etwas selber zu schreiben ist auch eine gute Übung, ob man das interne Speicherformat von BASIC auf dem C64 verstanden hat.

Verfasst: Donnerstag 29. November 2007, 17:15
von Costi
o mein gott!
mein informatik lehrer tut mir immer mehr leid
aber gut, wenn ich bedenke was in 10 jahren alles moeglich sein wird...
Verfasst: Donnerstag 29. November 2007, 17:40
von Rebecca
Dabei sind wir noch gar nicht bei den Lochkarten angekommen.

Verfasst: Donnerstag 29. November 2007, 17:54
von tux21b
Und noch eine Anmerkung zu Metaklassen, die du auch kritisiert hast. Das Typ/Objekt/Instanz System in Python weicht etwas vom klassischen Ansatz der meisten anderen Programmiersprachen ab und ist deshalb auch nicht so einfach zu verstehen.
Zum einen braucht man Metaklassen aber sowieso eher selten und wenn dann lassen sie sich auch gut verstecken und tragen wesentlich zur besseren Lesbarkeit und Einfachheit des Programms bei. Das beste Beispiel hier sind wohl die Django Model Klassen, welche beim Erzeugen auch gleich alle SQL-Statements anlegen und auführen, aber es gibt auch noch eine Vielzahl von anderen Klassen wo man es vermutlich gar nicht merkt.
Also mir gefällt die Entwicklung bei Python bis jetzt noch sehr gut und hoffe das die Performance von Py3k (genauer gesagt von der CPython Version) auch noch etwas zunimmt bis zum Release.
Gruß
Christoph
Verfasst: Donnerstag 29. November 2007, 18:40
von Imperator
Rebecca hat geschrieben:Dabei sind wir noch gar nicht bei den Lochkarten angekommen.

bitte einen Grundkurs!