Python Einführung - Bitte um Feedback
Hallo, ich habe meine Python Einführung überarbeitet: http://thomas-guettler.de/vortraege/python/einfuehrung.html Ich würde mich über Hinweise und Verbesserungsvorschläge freuen. Gruß, Thomas Güttler -- http://www.thomas-guettler.de/
On 08.03.2017 21:52, Thomas Güttler wrote:
Hallo,
ich habe meine Python Einführung überarbeitet:
http://thomas-guettler.de/vortraege/python/einfuehrung.html
Ich würde mich über Hinweise und Verbesserungsvorschläge freuen.
Gruß, Thomas Güttler
zu 19 Nachteile von Python: m.E. hat IDLE nicht wirklich etwas mit der Sprache zu tun, auch wenn es immer noch mit ausgeliefert wird. Es stehen eine ganze Reihe, im Detail auch ausgefeilter, Entwicklungsentgebungen zur Verfügung. Soweit ich es verstanden habe, bestünde ein eventueller Nachteil in der möglicherweisen hohen Last, die ein wiederholt aufgerufenes Skript erzeugen kann - als Grund mutmaße ich die vergleichsweise bescheidene Kompilierung. Mit Gruß und Dank, Andreas
zu "Nachteile von Python":
m.E. hat IDLE nicht wirklich etwas mit der Sprache zu tun, auch wenn es immer noch mit ausgeliefert wird. Es stehen eine ganze Reihe, im Detail auch ausgefeilter, Entwicklungsentgebungen zur Verfügung.
Ja, IDLE ist wirklich nicht mehr nennenswert. Danke für den Hinweise, ich werde es entfernen Gruß, Thomas -- Thomas Guettler http://www.thomas-guettler.de/
Am 09.03.2017 um 08:53 schrieb Andreas Röhler:
Soweit ich es verstanden habe, bestünde ein eventueller Nachteil in der möglicherweisen hohen Last, die ein wiederholt aufgerufenes Skript erzeugen kann - als Grund mutmaße ich die vergleichsweise bescheidene Kompilierung.
Den Interpreter ständig neu zu starten .... ja das ist langsam. Aber das ist für mich kein Problem. Per Web wird wsgi genutzt. Da bearbeitet ein Interpreter einen Request nach dem anderen. Also wird hier nicht immer wieder erneut gestartet. Wo hast du das Problem mit dem wiederholten Aufrufen? Gruß, Thomas -- Thomas Guettler http://www.thomas-guettler.de/
On 10.03.2017 09:35, Thomas Güttler wrote:
Am 09.03.2017 um 08:53 schrieb Andreas Röhler:
Soweit ich es verstanden habe, bestünde ein eventueller Nachteil in der möglicherweisen hohen Last, die ein wiederholt aufgerufenes Skript erzeugen kann - als Grund mutmaße ich die vergleichsweise bescheidene Kompilierung.
Den Interpreter ständig neu zu starten .... ja das ist langsam. Aber das ist für mich kein Problem.
Per Web wird wsgi genutzt. Da bearbeitet ein Interpreter einen Request nach dem anderen. Also wird hier nicht immer wieder erneut gestartet.
Wo hast du das Problem mit dem wiederholten Aufrufen?
Gruß, Thomas
Hatte mal einen Umsetzer für ca. 5000 man-pages geschrieben, der in der ursprünglichen Version 24h brauchte. Da muß die Sprache nicht dran schuld gewesen sein - soweit ich mich erinnere, waren zunächst Schreib/Lesezugriffe zu reduzieren. Auf der Suche nach einer Antwort komme ich eben hier vorbei: https://news.ycombinator.com/item?id=12046638 Grüße, Andreas
Hi Thomas, sorry für das etwas späte Feedback. On 2017-03-08 21:52, Thomas Güttler wrote:
ich habe meine Python Einführung überarbeitet:
http://thomas-guettler.de/vortraege/python/einfuehrung.html
Ich würde mich über Hinweise und Verbesserungsvorschläge freuen.
Erst mal finde ich es erfreulich, dass du nun endlich Python 3 in den Vordergrund stellst. :-) Einige Links in der Inhaltsübersicht enthalten (mit unterstrichene) Leerzeichen vor dem eigentlichen Text. Statt "während dem Studium" sollte es "während des Studiums" heißen, denke ich. In "Die Entwicklungsgeschwindigkeit ist heutzutage wichtiger als die Ausführungsgeschwindigkeit" würde ich ein "meistens" ergänzen: "meistens wichtiger als ...". Die Verwendung von Leerzeichen um Operatoren und das Gleichheitszeichen in Zuweisungen wäre meines Erachtens leserlicher (und konform mit PEP 8). Allgemein finde ich, dass du ein paar mehr Leerzeichen spendieren könntest, zum Beispiel zwischen "#" und dem Kommentar-Text. Zu deinem Beispiel "Ist das eine Zeichenkette?": `basestring` gibt es in Python 3 nicht mehr. Du möchtest vermutlich `str` verwenden. Was meinst du mit "wunderschön" gegenüber "hässlich" in Bezug auf Zeichenketten/Bytes? Ob man das eine oder andere verwendet, hängt vom Anwendungsfall ab. Die Angabe eines Encodings am Anfang der Datei ist bei Python 3 nicht mehr notwendig, solange das Encoding UTF-8 ist. `dict.items()` liefert in Python 3 keine Liste mehr, sondern ein Iterator-ähnliches Objekt, das sich in einer `for`-Schleife verwenden lässt. Ich weiß nicht so recht, ob die Angabe von "Null-Pointer" für `None` eine gute Idee ist. Ich würde das weglassen. In "Flusssteuerung" (besser "Fluss-Steuerung"?) kannst du `%d` statt `%s` verwenden, da du durch die Anwendung von `int` schon weißt, dass `i` ein Integer ist. Unter "Funktionen" weißt du auf "Call by assignment" hin. Die Semantik von "Call by assignment" deckt mit ab, was du danach zu "Call by value" und "Call by reference" sagst. Ich finde die Verwendung der beiden letztgenannten Begriffe im Zusammenhang mit Python eher unglücklich. Die Zuweisung hat in Python (unabhängig von Funktionsaufrufen) eine Semantik, die man ohnehin verstehen muss. Zum Tipp, am Ende eines Programms, `sys.stdin.readline` einzufügen: Würde es `input()` (`raw_input` in Python 2) nicht genauso tun? Ich würde den Rückgabewert von `io.open` nicht mit `fd` bezeichnen, sondern mit `fobj`. `fd` ist eher angemessen für "C-artige"-Dateihandles, wie sie an einigen Stellen im `os`-Modul verwendet werden. In "Externe Bibliotheken": "vorraussetzen" -> "voraussetzen" Ich finde, man sollte sich mit dem Debugger `pdb` auskennen. Ich würde "PyCharm" nicht als "Editor" bezeichnen. Das Beispiel für `property` finde ich nicht glücklich. Gerade für sowas würde/sollte man gerade nicht eine Property verwenden. Bei vermeintlichen Attribut-Zugriffen (was die API nahelegt), erwartet man nicht, dass bei wiederholten Aufrufen andere Werte zurückgeliefert werden. Typische Anwendungen für `property` wären eher "gecachete" Werte. Unter "Spaßbremse": Ob man Daten in einer Datenbank speichert/speichern sollte, hängt von der konkreten Anwendung ab. Manchmal sind einfache Textdateien oder `ini`-Dateien angemessener. Der Einsatz von Jenkins ist für kleinere Projekte, erst recht für einen einzelnen Entwickler, vermutlich übertrieben. Soweit erst mal mein Feedback! :-) Viele Grüße Stefan
participants (3)
-
Andreas Röhler -
Stefan Schwarzer -
Thomas Güttler