Python unter Linux: Todo

Didaktik

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

An diesem Buch zu tun

Bearbeiten

Das Folgende ist eher eine Wunschliste, keine konkrete Handlungsaufforderung. Vor Umsetzung sollte der jeweilige Punkt diskutiert werden.

  • Umstellung auf Python 3
Nein, Python 2 und Python 3 sind aktuelle, zueinander inkompatible Sprachen; Python 3 ist somit ein anderes Thema. --Jan 17:39, 1. Feb. 2014 (CET)
Ich setze alle Kapitel auf den Stand vor dem 01.01.2014 zurück. Das Buch wurde als "fertig" deklariert und darf deshalb nicht mehr wesentlich überarbeitet werden. -- Jürgen 19:50, 8. Feb. 2014 (CET)
Ich akzeptiere, dass das alte Buch nicht umgeschrieben werden sollte, aber die Aussage, "Python 2 und Python 3 sind aktuelle, zueinander inkompatible Sprachen" sehe ich als falsch. Übrigens sind die meisten aktuellen Lehrbücher zu Python, die im Handel zu bekommen sind, auf Python 3 bezogen, und nicht mehr auf Pyzhon 2.x. Somit bleibt als Ausweg halt ein neues Buch über Python 3.--37.82.146.161 19:36, 20. Jul. 2015 (CEST)
Ein neues Buch über Python 3 ist in dieser Situation genau das richtige und einzig mögliche/sinnvolle Verfahren. Unter Umständen können einzelne Kapitel eingebunden werden; aber das darf nur für solche Kapitel gelten, die ohne jede Einschränkung für beide Bücher zutreffen. -- Jürgen 19:58, 20. Jul. 2015 (CEST)
  • wxPython ausbauen, Stil und Formattierung an die anderen Kapitel anpassen
  • da die Python-Fehlermeldungen ziemlich kryptisch sind und z.T. nicht mal eine Zeilennummer enthalten vielleicht ein paar Tipps zu Debugging und Fehlersuche?
  • 3D-Programmierung unter Python?! (hätte wohl wenig Linux-Bezug(?)) --Jan 11:55, 6. Mär. 2014 (CET)
  • Kapitel über tkinter erweitern.
  • Wo sinnvoll, 2.7-Features einpflegen (alle bisherigen Beispiele sind unter 2.5 und 2.6 entstanden) --Jan 23:54, 7. Mär. 2014 (CET)
  • RegExp-Seite überarbeiten (siehe Diskussionsseite dort) --Jan 23:54, 7. Mär. 2014 (CET)
  • try-except-finally-Beispiele überarbeiten --Jan 23:54, 7. Mär. 2014 (CET)

Feedback

Bearbeiten
  • Dieses Wikibook hat mir sehr geholfen, echt toll gemacht! Danke an die Macher! +1
  • 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.
  • Kurz und knapp, aber trotzdem umfassend. Und alles mit problemlos nachvollziehbaren Beispielen. Mit ein paar Vorkenntnissen in Programmierung ein idealer Einstieg in Python. Sehr gutes Buch, Dank an alle Autoren, insbesondere Tandar!
  • Dieses Buch hat mir einen netten Einstieg in Python gegeben. Ursprünglich habe ich sehr viel C++ verwendet, das Buch hat mir Python jedoch sehr nahe gebracht, heute verwende ich fast ausschließlich Python. Was ich noch vermisse ist eine Einführung in das Modul subprocess, das ich beim Verwenden externer Programme sehr häufig verwende. Wenn ich Zeit habe schreib ich dazu mal was. Weiter so!
  • Vielen Dank für diesen schnellen und verständlichen Einstieg in Python.
  • Übersichtlich, kompakt und verständlich - vielen Dank für den super Einstieg! Für Programmierer, die von anderen Sprachen kommen, könnte man noch ein paar Vergleiche ziehen, z.B. dass Listen ungefähr dasselbe sind wie Arrays (nur, dass man unterschiedliche Typen speichern kann) oder das Tupel immutable Listen sind. Würde mMn. noch einfacher und schneller zu verstehen sein.
  • Ich habe die Beispielprogramme sofort unter LINUX verwenden können, was den Lerneffekt erheblich verstärkt hat !
  • Ich würde gerne dieses Buch auf die neueste Version Python 3 portieren. Jemand Einwände ?
    • Ja, falls du das Buch umbauen willst, siehe "Zusammenfassung des Projekts". Kopie wäre ok. Abgesehen davon, Einfach nur portieren, also die Skripte unter Version 3 lauffähig machen, würde Python 3 sicherlich nicht gerecht. Da gibt es einfach zuviel neues. Selbst 2.7-Features gibt es bisher kaum in diesem Buch. 92.196.18.225 19:03, 21. Jun. 2017 (CEST)

Druckversion

Bearbeiten
= Lizenzbestimmungen =
== Creative Commons Attribution Share-Alike 3.0 Unported ==
{{:Wikibooks:Creative Commons Attribution-ShareAlike 3.0 Unported License}}
== GNU Free Documentation License ==
{{:Wikibooks:GNU Free Documentation License}}

and, or, not (erledigt)

Bearbeiten

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)

Das Buch sollte vielleicht auf den Stand der Version 2.7 gebracht werden. 2.7 soll die absolut letzte 2.x-Version sein. Somit wäre das Buch wirklich fertig. --84.130.39.11 23:11, 6. Aug. 2010 (CEST)

Das Buch ist fertig, und zwar auch dann, wenn es nicht jedes Detail der Sprache nennt. Falls etwas fehlt, kannst Du gerne Ergänzungen vornehmen. Das Buch steht Dir offen und über Mitarbeit freue ich mich sehr! -- Tandar(D, B) 14:23, 6. Sep. 2010 (CEST)
Schade, die Einstellung. Z.B. die Built-in-Funktion format() wäre gerade für "Normalnutzer" von größtem Wert (gibts schon seit 2.6 und kommt hoffentlich in deinem Python3-Buch). Aber ich selbst sehe weiterhin wenig Sinn in einem OS-abhängigen Python-Buch und werde da sicherlich nichts an Arbeit mehr reinstecken. --Jan 14:53, 6. Sep. 2010 (CEST)
Erledigt (im Ansatz). 2.7 wird jetzt vorausgesetzt. Zumindest erspart das zukünftig irgendwelche Hinweise, dass irgendein Feature erst ab 2.X zur Verfügung steht. --Jan 11:50, 8. Mär. 2014 (CET)

Findings / Anfängerfehler

Bearbeiten

Hallo zusammen, ich bin Python-Neuling und beim Durcharbeiten (dieses tollen Buchs -- Vielen Dank!) auf eine Kleinigkeit gestossen, bei der ich unsicher bin.
In Kapitel "6.2 Importieren im Detail"[[1]] (im pdf auf Seite 60) bin ich über "from modul2 import print_mult, multipliziere." gestolpert. In meiner "Python 2.6.5"-Umgebung führt der abschließende "." zu einem Fehler.
Wenn meine Rückmeldung hilft - gut, wenn nicht - bitte diesen Eintrag einfach löschen.
--Peter uwe schneider 22:08, 10. Aug. 2012 (CEST)

Die Seite Python_unter_Linux:_Datentypen sollte komplett überarbeitet werden. Der Inhalt ist sehr unpräzise oder schlicht falsch. Unter Python_unter_Linux:_Datentypen#Besonderheiten_beim_Kopieren z.B. steht im Wesentlichen Unsinn. Ich will versuchen, das zu entschärfen. Aber der Unterschied zw. veränderlichen und unveränderlichen Datentypen muss viel klarer erläutert werden, insbesondere im Bezug auf das Kopieren.
Ein weiterer To-do-Punkt wäre noch das zu nennen, was hier jemand angesprochen hat: Diskussion:Python_unter_Linux:_Erste_Schritte
--84.130.27.189 21:48, 25. Aug. 2010 (CEST)

Fehler bei str. vs. unicode

Bearbeiten

Z.B. in Kapitel 2.5 "Strings können explizit durch ein vorrangestelltes u als UTF-8-Strings erklärt werden". Das ist gleich doppelt falsch: das ist dann kein String (str), sondern ein Unicode-Literal (unicode). Ein Coding kommt da nur insofern in's Spiel, weil die Quelldatei natürlich codiert ist (das muss aber nicht unbedingt utf-8 sein). Der Quellcode wird aber von Python dekodiert und das entstehende Unicode-Literal ist dann natürlich nicht mehr codiert. Auch die Namen im Beispiel dort ("UTFtext") sind deshalb irreführend/falsch.

In Kapitel 3.3.1 "Strings in Python werden intern immer als UNICODE-CODEPOINTS4 verarbeitet.". Das kann man so in dieser Allgemeinheit nicht stehen lassen. Strings (str) werden als Bytes verarbeitet und nur Unicode-Objekte (unicode) arbeiten mit Unicode-Codepoints. Alles andere wäre nicht nur abwegig, sondern (wenn das Coding nicht bekannt ist) sogar unmöglich.

Dieser Abschnitt wurde vor zirka zwei Jahren hinzugefügt. Es wird aber nicht erklärt, was def ... heißt. Falls der Abschnitt von Relevanz ist, wäre ein kleiner Hinweis angebracht, falls nicht könnte man ihn wieder streichen. --McZusatz 17:34, 18. Jan. 2013 (CET)


Python 3

Bearbeiten

In weniger als 13 Monaten wird Python 2 von Hersteller nicht mehr angeboten. Wir sollten das Buch auf Python 3 umschreiben. Siehe:

https://www.python.org/dev/peps/pep-0373/#update https://python3statement.org/

Dirk Hünniger 20:03, 6. Dez. 2018 (CET)

Was verstehst du unter "umschreiben"? Den Quellcode unter Python 3 lauffähig zu bekommen: 2 Stunden Arbeit. Ein Buch, das die Features von Python 3.7/3.8 lehrt: Praktisch alles muss neu geschrieben werden. Und das dann nur wieder für ein Betriebssystem. Unbestritten, am 1.1.2020 gehört auf die Titelseite ein fetter Hinweis, dass Py2 seitens python.org nicht mehr supportet wird. Jan 11:04, 6. Aug. 2019 (CEST)

Es läuft wohl auf ein komplettes umschreiben hinaus. Ich denke wir sollten Informationen die für Python 3 nicht mehr richtig sind entfernen und dafür sorgen das der Quelltext unter Python 3 läuft. Sprich man liest das Buch einmal von vorne nach hinten durch und schaut ob die jeweiligen stellen noch stimmen. Schafft man vielleicht in zwei Wochen. Sind jetzt jedenfalls noch 4 Monate bis dahin. Dirk Hünniger 14:06, 1. Sep. 2019 (CEST)

Die beiden ersten Sätze widersprechen sich. Praktisch alles ist ja noch richtig unter Python 3, schon weil das Buch nur wenig Tiefgang hat. Etwas mehr Arbeit müsste man nur ins Thema Unicode stecken. Auf vielen anderen Seiten reicht ein Ersetzen von print foo durch print(foo) und noch ein Halbsatz zur Ganzzahldivision. Das war's grob. Kaum zwei Manntage Arbeit und alles liefe unter Version 3. Nur, dann hat man kein Python3-Buch, denn es fehlte dann ja noch alles, was Python 3 gegenüber 2 ausmacht, und das ist nicht wenig. Das würde so viel Neuschreiben bedeuten, dass es einfacher wäre, wirklich ein komplett neues Buch zu schreiben. Deine Aussage übrigens, dass Version 2 ab 2020 nicht mehr angeboten wird, stimmt nicht. Im Gegenteil gibt es Anfang 2020 ein letztes Release, das natürlich nicht gleich wieder löschen wird, sondern für "ewig" zum Download angeboten werden dürfte, so wie man heute noch Version 1.5.2 runterladen kann ( https://www.python.org/download/releases/1.5/).
>Meine Meinung: Mach, was du für richtig hälst. Aus meiner Sicht wäre es um das jetzige Buch nicht schade, aber als Grundlage für eine neues ist es mE völlig ungeeignet. Jan 13:31, 2. Sep. 2019 (CEST)

Ich habe eine Webseite gefunden welche die genaue Zeit bis zum offiziellen Ende von Python 2 anzeigt.

https://pythonclock.org/

Wenn diese Zeit abgelaufen ist werde ich entsprechenden Hinweise ins Wiki schreiben. Es ist natürlich jedem überlassen diese nachträglich zu ändern oder mir zuvor zu kommen. Im Moment sind es noch weniger als 3 Tag und 7 Stunden.

Viele Grüße Dirk Hünniger 17:13, 28. Dez. 2019 (CET)