Diskussion:Python unter Linux: Kontrollstrukturen

Aus Wikibooks
Zur Navigation springen Zur Suche springen

switch/case[Bearbeiten]

ich hab leider keine gute quelle zum fehlenden switch case finden koennen ... waer nett wenn das mal jemand bei gelegenheit nachtraegt, bis dahin http://www.python.org/dev/peps/pep-3103/ bzw http://www.python.org/dev/peps/pep-0275/ als beleg dafuer dass das thema zwar diskutiert wird, aber wohl (zumindest in absehbarer zeit) nicht in python zu erwarten ist 87.162.110.15 14:24, 18. Okt. 2008 (CEST)[Antworten]

Ja, es gibt nicht jedes Konstrukt in jeder Programmiersprache. Muss man aber vielleicht auch nicht aufführen, schließlich gibt es keine Hoare-Regel zum switch/case. Man sollte sich meiner Meinung nach auf die Dinge konzentrieren, die es in Python gibt. Das ist mehr, als in den meisten anderen Sprachen. Tandar 19:42, 14. Jan. 2009 (CET)[Antworten]
Ich denke, wir sollten den Absatz über Switch/Case behalten. Es ist doch etwas ungewöhnlich, dass es kein Switch gibt, jemand mit Anfängerwissen aus anderen Sprachen wird es wahrscheinlich erwarten. 87.162.81.141 23:25, 15. Jan. 2009 (CET)[Antworten]
Jemand mit Wissen aus anderen Sprachen wird wissen, dass Sprachen nunmal unterschiedlich sind. In Python-Kreisen diskutiert man switch. Übrigens gibt es beim Anlegen von Objekten kein new(), es gibt bei Datentypen kein record oder struct und viele andere Dinge auch nicht. Sollen wir wirklich alles aufzählen, was es nicht gibt? Tandar 09:02, 16. Jan. 2009 (CET)[Antworten]
Ja, das halte ich für eine gute Idee. Ein kleines Unterkapitel in dem die Unterschiede zu anderen Sprachen erwähnt werden. Man muss es ja nicht zu ausführlich beschreiben, nur soweit dass man eine Übersicht hat, nach welchen Konstrukten man nicht suchen muss, bzw was die entsprechende Python-Alternative dazu wäre, vielleicht auch mit Beispielcode wo es sich anbietet. 87.162.67.14 10:24, 16. Jan. 2009 (CET)[Antworten]
Vielleicht wäre das ja etwas für die Python Referenz. Suchen Sie nicht nach "Prelude", das gibt es nur in Haskell *lol* und Viel Spaß. Im Ernst, ich denke, sowas sollte aus didaktischen Gründen nicht in einem Buch vorkommen. Helft lieber mit, an den Dingen die es gibt zu arbeiten. Tandar 14:41, 16. Jan. 2009 (CET)[Antworten]


if -- ganz kurz[Bearbeiten]

Man koennte hier noch die Verwandtschaft zu dem in C verwendeten ?:-Konstrukt erwaehnen. Damit dann natuerlich auch die Unterschiede. Nur so ein Gedanke... --Nkoehring 12:32, 31. Jan. 2009 (CET)[Antworten]

Gerne. Füge halt eine Fußnote ein. Das geht mit <ref>Was auch immer</ref> Tandar 14:50, 31. Jan. 2009 (CET)[Antworten]

break und continue[Bearbeiten]

#!/usr/bin/python

for buchstabe, zahl in [('a', 1), ('b', 2), (3, 3), ('d', 4)]:
    if type(buchstabe) != type('a'):
        continue
    else:
        print "Der Buchstabe", buchstabe, "hat den Zahlenwert", zahl

Ich halte es fuer vernuenftiger eine Typ-Ueberpruefung direkt auf str zu machen, also:

if type(buchstabe) is not str: #...

Das ist nicht nur leserlicher sondern auch vernuenftiger, da "is" fuer Typen-Vergleiche gedacht ist.

Mach mal. Vielleicht fällt dir ja auch noch ein besseres (kurzes) Beispiel dazu ein. Tandar 14:51, 31. Jan. 2009 (CET)[Antworten]
Ein Beispiel zum Keyword "is"?
Ein Beispiel zu for...else. Da ich is selten benutze, kann es sein, dass noch einige weitere Beispiele im Buch eine derartige Korrektur nötig haben. Vielleicht kannst du mal drüberschauen. Wär nett. Tandar 17:47, 1. Feb. 2009 (CET)[Antworten]