Bücher für Python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Karl
User
Beiträge: 252
Registriert: Freitag 29. Juni 2007, 17:49

Sonntag 9. September 2007, 19:10

Hi.
Ich hab vor, mal richtig Python zu lernen.
Da hab ich mir überlegt, dass es vielleicht ganz sinnvoll ist, wenn ich mir 1 oder 2 Bücher zulege. Nur welche? Und ist die Auswahl an Pythonbüchern nicht eher etwas begrenzt? Python ist zwar schon etwas älter, aber wirklich bekannt erst seit "kurzem", so wie ich das mitbekommen habe.
Nun ist es so, dass ich mich schon ein wenig in Python eingearbeitet hab und auch schon eine relativ lange Zeit mit PHP verbracht habe. Das heißt ich bin kein Anfänger mehr ;)
Ich hab mir mal 2 Themenschwerpunkte ausgesucht: Netzwerkprogrammierung (so mit allem drum und dran, sonst würde mir ja auch ein simples Tutorial über Sockets o.Ä reichen) und GUI-Programmierung. Da kam mir wxPython am sympatischsten vor, wobei ich im Prinzip keine Ahnung hab, ob zB QT (da war ja irgendwas mit der Lizens) oder so doch besser wär.
Und eventuell wollte ich mir noch 3d-Programmierung anschauen, das finde ich schon ziemlich interessant. Da kommen mir aber 2 bedenken: 1. ist Python für sowas geeignet? 3d Anwendungen sind ziemlich das krasseste, was ein Rechner leisten kann und Python ist ja eine High-Level-Programmiersprache, wahrscheinlich wäre da eher eine low-level-Programmiersprache wie C besser? Und gibt es überhaupt ein Buch für Python, das das Thema bearbeitet?

Also nochmal kurz: etwas umfangreiches über Netzwerkprogrammierung und ein Buch für wxPython (oder wenn ihr mich von einer anderen GUI überzeugen wollt, nur zu ;)).
Für das Ding mit der 3d-programmierung müsste ich mir vielleicht eine andere Sprache suchen, oder?
Nunja, könnt ihr da Bücher empfehlen?
Oder gibt es dafür schon genug Material online? Wenn es zu allem eine schöne Dokumentation + Beispiele + Referenz und vielleicht sogar noch ein paar Tutorials gibt, brauch ich ja auch nicht wirklich Bücher dafür.
Wobei ich denke, dass ein Buch mir auch noch einige (mehr oder weniger) wichtige Zusatzinformationen geben könnte.

Ach ich laber schon wieder so viel :p ich hör wohl besser auf.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Sonntag 9. September 2007, 19:21

Die Lizenz Sache mit QT war mal. QT ist nun auf Unix und Windows frei. Und Python eignet sich schon für 3D Sachen. Gerade als Anfänger bist du damit viel besser beraten als mit C.

Ansonsten habe ich nur ein Python Buch gelesen. Das Cookbook von O'Reilly. Das war teilweise Recht interessant aber deckt sich nicht wirklich mit dem was du suchst. :wink:
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
BlackJack

Sonntag 9. September 2007, 19:31

3D in "purem" Python ist wahrscheinlich nicht zu empfehlen allerdings gibt es, je nachdem was Du machen möchtest, gute C und C++ Bibliotheken mit Python-Anbindung.

Zum Beispiel Blender, oder Soya3D. Und vieles bei 3D-Programmierung lässt sich über Matrizen ausdrücken: Numpy.
Karl
User
Beiträge: 252
Registriert: Freitag 29. Juni 2007, 17:49

Sonntag 9. September 2007, 19:54

veers hat geschrieben:Die Lizenz Sache mit QT war mal. QT ist nun auf Unix und Windows frei. Und Python eignet sich schon für 3D Sachen. Gerade als Anfänger bist du damit viel besser beraten als mit C.

Ansonsten habe ich nur ein Python Buch gelesen. Das Cookbook von O'Reilly. Das war teilweise Recht interessant aber deckt sich nicht wirklich mit dem was du suchst. :wink:
Okay, dann würde QT auch wieder infrage kommen, aber ich denke es macht eh keinen großen Unterschied, ob ich jetzt dies oder das benutze, oder? Irgendwie werd ich schon zu einem schönen Ergebnis kommen, egal mit welcher GUI :)
Ich hab mir auch gedacht, dass ich lieber mit Python die Grundlagen für das ganze komplexe Zeug (Netzwerk, 3D, GUI und was sonst noch so ansteht) lerne und es dann bei bedarf später immer noch auf C++ oder so übertragen kann.
Aber so eine Sprache will ich mir im Moment nicht antun, ich weiß ja auch nicht. Da ist der Lernaufwand an der Sprache an sich schon ziemlich groß. Lieber erstmal bei Python bleiben.
BlackJack hat geschrieben:3D in "purem" Python ist wahrscheinlich nicht zu empfehlen allerdings gibt es, je nachdem was Du machen möchtest, gute C und C++ Bibliotheken mit Python-Anbindung.

Zum Beispiel Blender, oder Soya3D. Und vieles bei 3D-Programmierung lässt sich über Matrizen ausdrücken: Numpy.
Ich hab mir schon fast gedacht, dass ich da dann bei den rechenintensiven Aufgaben auf eine low-level-Programmiersprache zurückgreifen muss. Aber wie sieht das genau aus? Muss ich diese Sprache dann auch beherrschen? Oder kann ich das auch mit Python ansprechen?

Und wie sieht's mit den Büchern aus? ;)
Bei 3D-Programmierung bräuchte ich aber auch ein Buch, welches mir die mathematischen Grundlagen auch noch ein wenig erklärt. Ich bin noch Schüler und kann sicher noch nicht alles, was man können muss. Ich bin aber zum Glück eher einer, der nur eine kurze Erklärung braucht, damit ichs versteh ;)
Also optimal wäre ein 3D-Programmierungs-Buch für Python mit Erklärung zur Mathematik. Aber das wird's wohl eher nicht geben. Muss ich mir wohl ein allgemeines (nicht auf eine Programmiersprache festgelegtes) Buch zur 3D-Programmierung anschaffen?
BlackJack

Sonntag 9. September 2007, 21:46

Bei Blender, Soya3D und Numpy musst Du keine andere Programmiersprache können. Python-Anbindung heisst ja, dass man Bibliotheken von Python aus verwenden kann.

Was Du an Literatur brauchst, kommt halt auch stark darauf an, was Du machen willst. Zu Blender speziell dürfte ein Buch nicht schaden, weil das Programm einfach sehr umfangreich ist. Da wird es dann aber mehr um die Bedienung des Programms und Modellieren von 3D-Objekten gehen. Vom "Blender Buch" ist gerade eine neue Auflage herausgekommen.

Soya3D geht ziemlich "High-Level" an 3D heran, dass heisst man kann da sicher auch ohne viel mathematischen Background herangehen.

Numpy ist da eher etwas für Leute, die die Berechnungen selber machen wollen statt einfach Methoden zum drehen und skalieren von 3D-Objekten aufzurufen.

Ansonsten ist bei allgemeinen Büchern `Computer Graphics - Principles and Practice` von Foley, van Dam u.a. ein Standardwerk. Ist aber nicht billig. Bei Terrashop gibt's gerade `Computergrafik` von Xiang und Plastock für 3,95€, das scheint grundsätzlich die gleichen Themen abzudecken. Ob's was taugt kann ich allerdings nicht sagen.
Karl
User
Beiträge: 252
Registriert: Freitag 29. Juni 2007, 17:49

Montag 10. September 2007, 13:04

Okay, ich werd mir das mal ein wenig anschauen mit dem 3D-Zeug, aber ich glaub ich lass das erstmal außen vor.
Das Thema kann man sich ja immer noch für später aufheben, ist ja nicht grad das leichteste ;)
Außerdem hab ich dann vielleicht auch mehr mathematisches Hintergrundwissen, das wäre gar nicht mal so dumm.
Ich hab eh nicht vor alles auf einmal zu machen, wär ja Wahnsinn :shock:

Also wie siehts mit Büchern für wxPython (okay da sollte ich vielleicht mal die SuFu benutzen, ich hab glaub ich schonmal was hier gelesen, mach ich gleich mal ;) ) und Netzwerkprogrammierung aus?[/code]
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Montag 10. September 2007, 13:11

Karl hat geschrieben:Also wie siehts mit Büchern für wxPython (okay da sollte ich vielleicht mal die SuFu benutzen, ich hab glaub ich schonmal was hier gelesen, mach ich gleich mal ;) ) und Netzwerkprogrammierung aus?[/code]
Ja, benutz mal die Suchfunktion, da findest du einiges zum Thema "wxPython in Action".

Über Netzwerkprogrammierung in python gibt es auch einige Bücher, wie zum Beispiel "Foundations of Python Network Programming" oder speziell für Twisted "Twisted Network Programming Essentials".
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Karl
User
Beiträge: 252
Registriert: Freitag 29. Juni 2007, 17:49

Dienstag 11. September 2007, 17:25

Okay, wxPython in Action scheint ja von der Sprache her recht einfach zu sein, so dass man auch als Schüler noch den Text verstehen kann :)
Nur wie sieht es mit diesem "Foundations of Python Network Programming" aus? Oder gibt's das auch in einer deutschen Ausgabe, bzw ein vergleichbares Buch auf Deutsch?
Ich glaub ich werd eher das nehmen, als das speziell für Twisted geschriebene, dann lern ich vielleicht allgemein mehr um das auch auf andere Sprachen anwenden zu können. Und ein Kapitel über Twisted soll's ja auch geben ;)
BlackJack

Dienstag 11. September 2007, 17:48

Wenn Du Netzwerkprogrammierung ohne Framework möchtest, dann sollte es auch allgemeine Literatur tun. Das `socket`-Modul ist sehr nah an der entsprechenden C-Bibliothek, also BSD-Sockets.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dienstag 11. September 2007, 21:58

Karl hat geschrieben:Okay, wxPython in Action scheint ja von der Sprache her recht einfach zu sein, so dass man auch als Schüler noch den Text verstehen kann :)
Naja, was heißt "auch als Schüler"? Es ist ja insbesondere in der Schule wo man jetzt auch immer intensiver Sprachen lernt was ja auch ganz gut ist. Englische Bücher die über "nicht-akademische" Themen wie TCP/IP, Sockets, python etc. gehen ist schon durchaus verständlich. Ich würde sagen, mit der 9. Klasse sollte man eigentlich ganz locker dabei sein.

Achja, BSD-sockets gibt es interessanterweise in jedem populäreren Betriebssystem also auch Windows :) (speziell dazu hatten wir vor einiger Zeit sogar eine Diskussion dazu).

nkoehring hat insbesondere für TCP/IP auch eine Empfehlung.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten