Python unter Linux: Todo

Aus Wikibooks

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

[Bearbeiten] Didaktik

  • aufeinander aufbauende Kapitel, ohne jedoch zu große Abhängigkeit zu schaffen
  • überprüfbare Beispielprogramme

[Bearbeiten] An diesem Buch zu tun

[Bearbeiten] Feedback

  • Dieses Wikibook hat mir sehr geholfen, echt toll gemacht! Danke an die Macher!
  • Ich habe auf der Suche nach einem Python + Qt Tutorial gerade dieses sehr gute Wikibook gefunden. Kompliment an alle Autoren, die Artikel sind klar strukturiert und verstaendlich geschrieben. Weiter so! (Hoffe das Feedback ist hier an der richtigen Stelle. Ist noch so leer der Punkt.)
  • Auch meinen Respekt an die Macher. Das Buch ist umfangreicher und verständlicher als die Bücher des O'Reilly Verlages!
  • Das Buch scheint zu sein was ich gesucht habe.:) Kleiner Hinweis, in den Code-Beispielen der PDF-Version finden sich ’ statt '.
  • Ein Ebook, das seines gleichen sucht ! Besser als jedes andere kostenpflichtige Buch. Weiter so!!
  • Sehr gutes Ebook über Python, steckt viele gedruckten Werke locker in die Tasche. Vielen Dank. Was ich mir noch wünschen würde wären ein paar Worte zum streaming-Konzept (gerade bei Linux/Unix) in Kapitel 8.

[Bearbeiten] Druckversion

[Bearbeiten] and, or, not (erledigt)

Sind die Operatoren irgendwo halbwegs formal beschrieben (also ob und wann was ausgewertet wird)? Ich fand zumindest nichts auf die Schnelle. --84.131.154.77 11:53, 18. Mai 2009 (CEST)

Siehe Python_unter_Linux:_Datentypen#Boolean.
or wird bis zum ersten True ausgewertet
and bis zum ersten False. -- Tandar(D, B) 13:25, 18. Mai 2009 (CEST)
Ok, diese short-cut-Eigenschaft lag mir auch nur am Rande am Herzen. Wichtiger wäre mir, dass klar wird, dass and und or nicht True und False als Ergebnis haben, sondern einen der beiden Operanden. "False" or 4711 wird eben zu 'False' und nicht True ;-) --84.131.154.77 13:50, 18. Mai 2009 (CEST)
Ganz so klar ist das natürlich nicht ;-)
  • False or 4711 wird -bei beliebiger Reihenfolge der Parameter- zu 4711 ausgewertet
  • 4711 and False wird zu False ausgewertet, bei beliebiger Reihenfolge der Parameter.
Das ist anders als in C, wo
#include <stdio.h>
 
int main (void)
{
  int x = (0 || 4711);
  printf("%d\n", x);
  return 0;
}
zu "1" ausgewertet wird.
print bool(None or False or 0 or 1) ergibt übrigens True
Wenn dir das am Herzen liegt, dann füge es ruhig in den Text ein. -- Tandar(D, B) 14:54, 18. Mai 2009 (CEST)
Das wäre ja schon etwas aufwändiger und passt auch nicht zur Erläuterung des Datentyps Boolean, sondern müsste gesondert erläutert werden, wie ja auch die Info, was eigentlich alles "unwahr" ist, also False, None, Nullwerte, leere Container. Dann kann man erst vernünftig and und or erläutern und vielleicht so ein Beispiel bringen:
>>> name = None
>>> "Hallo %s!" % (name or "Fremder")
'Hallo Fremder!'
>>> name = "Doc"
>>> "Hallo %s!" % (name or "Fremder")
'Hallo Doc!'
>>> name = ""
>>> "Hallo %s!" % (name or "Fremder")
'Hallo Fremder!'
>>> 
Ich sehe aber auch, dass du konsequent mit Vergleichsoperatoren arbeitest also text = "gerade" if a % 2 == 0 else "ungerade" schreibst, statt text = "ungerade" if a % 2 else "gerade". So muss der Leser nicht wissen, dass 4%2 unwahr ist. Vielleicht ein Vorteil. Ich mach da auf jeden Fall nichts. Das bleibt dir überlassen.
Nur am Rande: Mein "False" war nur ein String. Deswegen der Smiley.--84.131.154.77 15:23, 18. Mai 2009 (CEST)

Kannst auch nochmal auf Python_unter_Linux:_Kontrollstrukturen#if schauen, da habe ich nochmal einen Satz hinzugefügt. Die Syntax name or "Fremder" erinnert mich ein wenig an die Perl-Syntax or die.... Fein, so habe ich wieder was gelernt. -- Tandar(D, B) 13:25, 21. Mai 2009 (CEST)

Ja, Perl war auch meine erste Sprache, bei der mir dieses sehr direkte Arbeiten mit "Wahrheiten" untergekommen ist. Sieht ja zuerst etwas nach Missbrauch der Short-Cut-Eigenschaft aus, aber ich fand es genial. --84.131.154.225 18:20, 21. Mai 2009 (CEST)
Persönliche Werkzeuge