Python Bücher

Gute Links und Tutorials könnt ihr hier posten.
VegetarianSalad
User
Beiträge: 7
Registriert: Montag 31. Dezember 2012, 10:46

Montag 31. Dezember 2012, 11:51

Ich arbeite tatsächlich mit ,,Einstieg in Python'' von Galileo Computing. Was ist daran so schlecht? Bin beim dritten Kapitel und fand
es bisher für einen Anfänger wie mich ziemlich gut. Will mir jetzt aber auch kein neues Buch kaufen. :K
Benutzeravatar
Hyperion
Moderator
Beiträge: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Montag 31. Dezember 2012, 12:06

Öh... hat jemand behauptet, das sei schlecht?

Davon abgesehen ist es für einen Anfänger eben nicht so wirklich einfach, die Qualität eines Buches zu beurteilen; insbesondere für einen Programmieranfänger. Wenn man ein wenig Erfahrung rund ums Programmieren besitzt, dann fallen einem schon eher Schwächen bei solchen Büchern auf, selbst wenn man die Sprache noch nicht kennt, speziell wenn es um Fehler bei allgemeinen Konzepten o.ä. geht. (Hände weg von "C# in 21 Tagen" btw. :twisted: - das geht in Richtung des OpenBooks von Ernesti und Kaiser) Ein Anfänger kann solche Fehler einfach nicht bemerken, weil ihm schlicht und ergreifend das Wissen fehlt.

Ich würde Dir vor allem raten, Dich nicht ausschließlich auf "Dein" Buch zu verlassen, sondern auch andere Quellen nutzen, um Dinge zu vertiefen, Dazu zählt neben dem offiziellen Tutorial auch die Dokumentation i.A. und andere für gut befundene Bücher (s. Wiki und div. Threads).
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3))
assert encoding_kapiert
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 31. Dezember 2012, 14:58

VegetarianSalad hat geschrieben:Will mir jetzt aber auch kein neues Buch kaufen. :K
Wozu auch? Es gibt genug gute online-Ressoucen, so dass so ein dickes und schweres Buch auch eher sinnlos wirkt.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
lunar

Montag 31. Dezember 2012, 17:41

http://learnpythonthehardway.org/

Wenn Du ein Buch magst, kaufe Dir die PDFs und lasse sie drucken...
JonnyDamnnox
User
Beiträge: 68
Registriert: Sonntag 10. März 2013, 21:14

Donnerstag 28. März 2013, 23:20

Hoi,
Also vieles hab ich zwar von lernpythonthehardway und von der offiziellen doc gelernt, aber auf dauer immer auf dem Bildschirm zu lesen strengt echt an. Deswegen hab ich mir das zukommen lassen:

http://www.amazon.de/Programmieren-lern ... 597&sr=8-2

Das ist die deutsche Übersetzung von "Thing like a computer scientist", das gibts zwar auch kostenlos, aber ich lese lieber auf Papier und das ist es mir wert(ist ja auch nicht so teuer).
Das Buch hat ca. 280 Seiten. Leider merkt man die Übersetzung ein bisschen, aber nur wenn man den Originaltext gelesen hat. Tkinter wird auch besprochen. Übungen mit Lösung im Internet sind auch drin. Also ich finds nicht schlecht. Es hat auch auf einer englischen Seite sehr gute Bewertungen bekomme(bei Amazon gibts noch keine).

Gruß
desmater
User
Beiträge: 32
Registriert: Donnerstag 18. April 2013, 20:53

Montag 22. April 2013, 15:03

Ich wollte mal fragen ob jemand schon Erfahrung mit diesem netten Schinken hier gemacht hat:

Das Python-Praxisbuch - Der große Profi-Leitfaden für Programmierer
Autor Farid Hajji

Also ich hab bisher nur gute Kritiken gelesen, allerdings weiß ich natürlich wie verlässlich diese sind. Ein bekannter von mir hat das Buch bei sich rumliegen weil ers mal geschenkt bekommen hat und würde mir das Buch leihen, da ich auf der Suche nach einem anständigen Buch bin.
Da ich aber keine Lust habe das Buch zulesen und am ende was falsches gelernt zu haben wollte ich lieber mal Fragen ;D

Mit freundlichen Grüßen
desmater
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 22. April 2013, 20:40

Der Autor war hier sogar mal im Forum unterwegs und wirkte auf mich recht kompetent, was mich von dem Buch abhalten würde ist eben dass es so ein Schinken ist.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
kbr
User
Beiträge: 957
Registriert: Mittwoch 15. Oktober 2008, 09:27

Montag 22. April 2013, 21:25

desmater hat geschrieben:Das Python-Praxisbuch - Der große Profi-Leitfaden für Programmierer
Autor Farid Hajji
Das Buch ist gut. Gerade wenn das Thema für einen neu ist, kann es hilfreich sein, wenn die Darstellungen etwas ausführlicher sind (Stichwort "Schinken"). Das es noch auf Python 2.5 basiert, ist als einführendes Lehrbuch kein wirklicher Nachteil. Leih' es Dir.
desmater
User
Beiträge: 32
Registriert: Donnerstag 18. April 2013, 20:53

Dienstag 23. April 2013, 00:18

Alles klar :wink:
Danke für die Info :) Dann werde ich mir das gute Stück mal borgen :mrgreen:

Gruß

desmater
JonnyDamnnox
User
Beiträge: 68
Registriert: Sonntag 10. März 2013, 21:14

Sonntag 28. April 2013, 23:23

Hallo,
Kennt jemand dieses Buch:
http://www.amazon.de/gp/product/3826694 ... 3826694562

Hat knapp 800 Seiten, scheint also ziemlich "umfassend" zu sein, ein paar Kapitel über guten Programmierstil scheint es auch zu geben(PEP8?). Ok es ist für Python 3.usw aber wenn man die unterschiede kennt reichts ja auch für 2.7.usw oder? Sieht also ziemlich überzeugend aus, oder hat jemand Einwände?

Gruß
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Sonntag 28. April 2013, 23:42

Der Weigend macht schon lange Python-Bücher. Ich hab mal durchgeblättert auf Amazon und es ist irgendwie viel "Blah", man muss halt irgendwie die 800 Seiten vollbekommen. Um so seltsamer dass er auf Seite 72 bei Programmierstil dann "anzahlPersonen" als gutes Beispiel bringt, was so ziemlich jeder Python-Konvention wiederspricht. Ebenfalls "Person" als "pers" abzukürzen ist ziemlich sinnlos, weil man hat damit 2 (in Worten: zwei!) Buchstaben gespart dafür dass man nun einen Bezeichner hat der reichlich sinnlos ist.

Vielleich bin das nur ich, aber ich wär nach den ersten 100 Seiten reichlich demotiviert, nachdem dort kaum ein sinnvolles Programm geschrieben wurde, aber Komplexe Zahlen eingeführt worden sind*. Das Buch ist eher eine lange Referenz, würde ich sagen, als ein Buch was ich unbedingt zum lernen von Python nutzen wollte. Außer man will alles super-detailliert erstmal in der Theorie lernen.

* Ich habe seitdem ich mit Python im Jahr 2003 angefangen habe komplexe Zahlen genau 0 mal gebraucht. Spricht nicht dafür dass es so relevant ist um das in den ersten 100 Seiten zu diskutieren.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
JonnyDamnnox
User
Beiträge: 68
Registriert: Sonntag 10. März 2013, 21:14

Montag 29. April 2013, 18:00

Ok, also wenns in die Details geht soll mir das recht sein. Aber ich werd mal in unserer Uni Bib bei den Informatikern schauen ob es das Buch dort gibt und mal reinschnüffeln.

Gruß
JonnyDamnnox
User
Beiträge: 68
Registriert: Sonntag 10. März 2013, 21:14

Samstag 4. Mai 2013, 11:18

Also ich hab das Buch mal durchgelesen und finde es gut. Die ersten Python Sachen werden ab Seite ca. 45 gemacht, nach allgemeinem Text über Programmieren, Python selbst und der Installation. Zu jedem Text gibts auch im selben Kapitel Übungsaufgaben mit Lösungen hinterndran, man darf also selbst schon kleine Programme schreiben. Komplexe Zahlen werden, denk ich mal, nur der Vollständigkeit halber eingeführt, bzw. es wird auf einer halben Seite erklärt das es diese in Python gibt(neben den anderen 3 oder 4 Datentypen) und ob sie unnütz sind ist ja Geschmackssache, ich komm zb eher aus der Mathe/Physik Ecke und würde schon irgendwann mal ein Programm damit schreiben(das irgendwas ausrechnet) wollen. Und da es für Python auch viele Libs für naturwissenschaftliches Arbeiten(die auch viel genutzt werden glaub ich) gibt, finde ich es gut das sie erwähnt werden. Das mit pers und person find ich auch etwas blöde, aber das war nur ein Nebensatz: "Man soll im Alltag gebräuchliche Wörter abkürzen(z.B. pers für person)".

Und was PEP8 angeht, mal ehrlich, daran hält sich doch eh keiner oder? Ich hab jetzt im Internet mindestens 7-8 Tutorials durchgekaut und einige überflogen, davon wurde in einem einzigen kurz erwähnt das es so etwas gibt, nur weil der Python Gott persönlich meint es sähe so besser aus :roll: , bei vielen Python Projekten wird es auch nicht benutzt und in Büchern wirds auch nicht benutzt. Wenn es so wichtig ist, wieso hält sich dann niemand dran? Oder sind das alles schlechte Programmierer? Einen großartigen Vorteil daran sehe ich jetzt auch nicht, wenn man keine Konzentrationsschwäche hat dann reichen die Tipps in dem Buch vollkommen aus für eine gute Lesbarkeit. Wer von null anfängt dem könnte ich das Buch auf jeden Fall empfehlen, lieber ein detailiertes Buch mit viel Text und Beispielen(eher mehr Beispiele als Text), als ein oberflächliches Internettutorial. Leider halt nur mit Python 3.* auf die Unterschiede zwischen den Versionen wird leider auch nicht eingegangen.
Ne CD mit der Python Version ist auch dabei, ok das ist eher Sinnlos, aber wenn man mal kein Internet(störung oder whatever) hat ums runterzuladen, dann halt CD, warum nicht? :K

Gruß
BlackJack

Samstag 4. Mai 2013, 11:59

@JonnyDamnnox: Der „nur” Nebensatz und wenn das im Buch dann auch gemacht wird, halte ich für ganz schön übel. *Warum* sollte man im Alltag gebräuchliche Wörter mit im Alltag völlig *ungebräuchlichen* Abkürzungen verkürzen? Das macht doch überhaupt keinen Sinn‽ Dadurch werden die Namen nur schwieriger zu deuten, im schlimmsten Fall denkt der Leser er *wüsste* was ein Name bedeutet, liest in der Abkürzung aber etwas anderes als der Autor gemeint hat. Und bekommt damit eine falsche Vorstellung vom Quelltext, und damit Probleme beim Verständnis.

PEP8 ist nicht vom Python-Gott, sondern eine Zusammenfassung von Richtlinien, die von den Python-Entwicklern für guten Stil befunden wurden. Teilweise auch nicht nur als reine Geschmacksfrage, sondern aus Erfahrungswerten was lesbar(er) ist und was nicht. Und einige Punkte wie die Einrücktiefe sind essenziell für die Zusammenarbeit. Man braucht auch keine Konzentrationsschwäche um bei wild durcheinander gewürfelten Namenskonvention nicht mehr zu wissen ob das nun `foo_bar_baz`, `Foo_bar_baz`, `fooBarBaz`, `FooBarBaz` oder vielleicht noch etwas anderes ist, was man gerade sucht. Ich verstehe echt nicht warum es so viele Leute gibt, die sich nicht an die Konventionen der Standardbibliothek und damit PEP8 halten wollen. Ich habe noch nie jemanden gesehen, der bei Java, oder C# auf die Idee käme da plötzlich sein eigenes Ding durchziehen zu wollen.

Ich halte mich zum übrwiegenden Teil an PEP8 und die Mehrzahl der Module/Packages von anderen Autoren, die ich benutze und wo ich mal reingeschaut habe, tun das auch. Das sich da eh keiner dran halten würde, kann ich nicht bestätigen.
Sirius3
User
Beiträge: 8805
Registriert: Sonntag 21. Oktober 2012, 17:20

Samstag 4. Mai 2013, 13:01

Dank Amazon hab ich mir auch ein paar Seiten »Python 3: Lernen und professionell anwenden« reingezogen.

Was mir beim Überfliegen so auffiel:
- In seine Definition von Compiler (erzeugt ein direkt ausführbares [gemeint ist maschinensprache] Programm) und Interpreter (liest einen Programmtext Zeile für Zeile und führt jede Anweisung direkt aus) passen wohl kaum mehr aktuelle Übersetzer von Programmiersprachen (Wo passt hier Java, das dot-net-Gedöns oder auch Python, Perl und Javascript hinein?)

- Die Beispielprogramme halten sich an gar keine Richtlinie, da wird ein Leerzeichen zwischen »input«/»print« und Klammer gesetzt und mal nicht (im selben Programm!). Oder wie ich gerade bei der Einführung von Klassen sehe: keine Leerzeile zwischen Methodendefinitionen dafür ein "def add (self, geld):".

- In den Musterlösungen in der letzten Zeile »input("Beenden mit <enter>")«.

- Klassen haben im Buch private und sehr private Attribute, um auf der nächsten Seite gleich diese unsäglichen Getter und Setter einzuführen und sie als »guten Programmierstil« anzupreisen.

- Das Kapitel XML behandelt anscheinend nur »minidom«, das man am besten erst gar nicht anfassen sollte.

- noch was zu PEP8: wie soll ich wissen, ob es sich um eine Konstante handelt, wenn sie genauso geschrieben wird, wie jede Variable.
Antworten