Hallo Forengemeinde,
ich bin gerade dabei mit Python 3 programmieren zu lernen. Ich habe zwar viel PC-Erfahrung (nicht nur Benutzung, sondern auch Installation und Konfiguration), aber sehr wenig Erfahrung im Programmieren (nur mal etwas Java in der Schule und privat etwas semikompetent an PHP und JavaScript herumgefummelt; HTML und CSS zähle ich mal nicht als programmieren).
Ich komme aus dem Bereich der Geistes- und Sozialwissenschaften und bin damit nicht unbedingt der Geek in Naturwissenschaften und Mathematik (abgesehen eben von den Randbereichen die ich eben so brauchte, etwa Statistik).
Ich habe mir bereits einige Online-Tutorials angeschaut, denke aber das ich mit einem Buch konsequenter abreiten könnte.
Bisher bin ich auf folgende Bücher bei meiner Suche gestoßen:
Theis, 2014, Einstieg in Python
Lutz, 2013, Learning Python
Klein, 2014, Einführung in Python 3
Downey, 2014, Programmieren lernen mit Python (Englisch: Think Python, 2012)
Zelle, 2010, Python Programming
Guttag, 2013, Introduction to Computation and Programming Using Python
Dawson, 2010, Python Programming for the Absolute Beginner
Lubanovic, 2013, Introducing Python
Kann mir jemand von euch eine spezielle Empfehlung geben (gern auch ein Buch was nicht auf der Liste ist!)? Ob Englisch oder Deutsch ist mir egal, aber bitte keine andere Sprache.
Prinzipiell geht es mir darum das es Python 3 behandelt und für Einsteiger - sowohl in Python als auch ins Programmieren überhaupt - geeignet ist.
Ich will zwar auch nicht an der falschen Stelle knausern, aber z.B. das Buch von Lutz scheint mir mit 40€ schon etwas überteuert. Oder ist es das einfach wert?
Ziel ist es am Ende durchaus ernsthafte Anwendungen schreiben zu können. Keine Großprojekte, aber z.B. eigene Automatisierungen, Abfragen, Datenanalysen, einfache Webanwendungen, etc.
Vielen Dank schon einmal
Theddun
Python 3 Buch für Programmieranfänger
Du brauchst nicht knausern (auch wenn du speziell nach Büchern gefragt hast):
Allerdings habe ich die Erfahrung gemacht, dass 40,00 Euro eher der untere Normalfall als überteuert ist
Grüße ... bwbg
Allerdings habe ich die Erfahrung gemacht, dass 40,00 Euro eher der untere Normalfall als überteuert ist
Grüße ... bwbg
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
Ich schaue mir gerne die Rezensionen bei Amazon an, bevor ich mich für ein Fachbuch entscheide. Dabei aber nicht einfach nur die Sterne zählen, sondern auch lesen warum jemand nur 3 Sterne vergibt.
Um zu entscheiden ob 40€ viel oder wenig ist, wäge einfach mal ab, wieviel Stunden so ein Buch Dein Lernen verkürzt und wieviel Dir Deine Zeit Wert ist.
Wenn Du eher viel Zeit und wenig Geld hast, aber nicht alles Online zusammensuchen möchtest, dann gibt es ja immer noch sowas wie die Stadtbibliothek, wo Du bestimmt ein Python Buch von z.B. 2008 bekommst. Die ersten 100 Seiten haben sich seitdem eh nicht großartig geändert (das ist bei Python nicht wie bei Java). Und solltest Du dort das Buch "Das Python-Praxisbuch" von Farid Hajji finden, dann nimm es. Nicht umsonst kostet das Buch heute gebraucht doppelt soviel wie 2008 neu.
Um zu entscheiden ob 40€ viel oder wenig ist, wäge einfach mal ab, wieviel Stunden so ein Buch Dein Lernen verkürzt und wieviel Dir Deine Zeit Wert ist.
Wenn Du eher viel Zeit und wenig Geld hast, aber nicht alles Online zusammensuchen möchtest, dann gibt es ja immer noch sowas wie die Stadtbibliothek, wo Du bestimmt ein Python Buch von z.B. 2008 bekommst. Die ersten 100 Seiten haben sich seitdem eh nicht großartig geändert (das ist bei Python nicht wie bei Java). Und solltest Du dort das Buch "Das Python-Praxisbuch" von Farid Hajji finden, dann nimm es. Nicht umsonst kostet das Buch heute gebraucht doppelt soviel wie 2008 neu.
Danke für deine Antwort bwbg.bwbg hat geschrieben:Du brauchst nicht knausern (auch wenn du speziell nach Büchern gefragt hast):
Allerdings habe ich die Erfahrung gemacht, dass 40,00 Euro eher der untere Normalfall als überteuert ist
Grüße ... bwbg
Vielen dank auch gleich für die guten Links, welche ich mir gerade anschaue. Prinzipiell suche ich aber (auch) ein Buch.
Alle Bücher zur Einführung (anders als jene für Fortgeschrittene) die ich gefunden habe kosten tatsächlich unter 30€. Ausnahme ist eigentlich nur Learning Python von Lutz (41€) (und Python Programming von Zelle, welches im deutschen Amazon zum Abzockpreis von 51€ gebraucht verkauft wird, aber im US-Amazon nur 20$ kostet...). Kann natürlich auch daran liegen das die alle Mist sind. Deswegen frage ich ja.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Du kannst Dir ja auch ein Tutorial ausdrucken (lassen), wenn Du lieber von Papier liest (was ich auch tue).
Leider sind viele gedruckte Python-Bücher suboptimal. Insbesondere für einen Programmieranfänger ist "Learn Python the hard way" sehr zu empfehlen!
Leider sind viele gedruckte Python-Bücher suboptimal. Insbesondere für einen Programmieranfänger ist "Learn Python the hard way" sehr zu empfehlen!
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
- nieselfriem
- User
- Beiträge: 135
- Registriert: Sonntag 13. Januar 2013, 16:00
Danke für die Empfehlung.nieselfriem hat geschrieben:Ich empfehle dieses Büchlein:
https://www.rheinwerk-verlag.de/einstie ... thon_3594/
VG niesel
Das Buch hatte bei Amazon auch einen guten Eindruck auf mich gemacht und ist auch recht günstig.
Heute habe ich mir erstmal Programmieren supereasy aus der lokalen Bibliothek ausgeliehen. Es war das einzige Buch was sich mit Python beschäftigt hat. Bin mal gespannt, da es von der Illustration her ein Buch für Kinder zu seien scheint.
@nieselfriem: leider trüben einige Details immer den Gesamteindruck von einem Buch, wo ich zugegebenermaßen nur die Leseprobe gelesen habe.
Z.B. die Erklärung zum Unterschied von for- und while-Schleifen: ob da ein Anwender etwas eingibt, oder nicht, ist völlig irrelevant. Auch Aussagen wie "Meist werden Schleifen für regelmäßige Abfolgen von Zahlen genutzt." muß man durch "Schlechte Pythoneinführungen benutzen Schleifen meist nur für Abfolgen von Zahlen." ersetzen.
Ein kurzer Check eines meiner Projekte hat 154 for-Schleifen ergeben, bei denen gerade mal bei 4 eine Abfolge von Zahlen vorkommt. Der wirklich häufigste Fall, dass eine for-Schleife alle Elemente einer Liste durchgeht, wird gar nicht beschrieben! Wahrscheinlich, weil Listen bisher noch nicht behandelt wurden.
Ähnlich schlimm sieht es bei while-Schleifen aus:
- Zeile 3: random.seed ist unnötig und sogar gefährlich, weil es im Zweifel die Zufälligkeit der "Zufallszahlen" zerstört.
- Zeile 12: zahl soll eine Benutzereingabe sein, muß aber vor der Schleife mit einem Wert belegt werden, der nicht c ist, weil man sonst die while-Schleife gar nicht durchlaufen wird. c + 1 ist also nur ein gar nicht so doofer Wert, aber warum nicht c + 2? Am sinnvollsten wäre noch "zahl = None", also zahl hat noch keinen Wert, aber das Konzept von None ist für Anfänger zu schwierig. Aber warum überhaupt eine while-Schleife, wenn man unlogische Zuweisungen benutzen muß?
- Zeilen 15 und 20: hier werden die Versuche gezählt. Wie's eleganter geht, dazu später mehr.
- Zeilen 18 und 26: zweimal der Vergleich ob zahl gleich oder ungleich c ist. Warum muß ich das zweimal machen. Dopplungen will ich ja durch programmieren vermeiden.
- Zeile 22-24: Das Einlesen einer Zahl wird hier ja nicht zum ersten mal gemacht. Ist es da zu kompliziert, dass man auch zwei Schritte auf einmal machen kann und die Variable z weglassen kann?
- Kommentare: die meisten Kommentare haben selbst für einen Anfänger keinen Informationsgehalt. Vor allem Zeile 19 und 25: "Anzahl Versuche" oder "Verzweigung", was soll mir das sagen?
Hier eine andere Lösung:
Die Versuche werden nicht von Hand gezählt, sondern mit einer for-Schleife und der Pythonfunktion count. zahl enthält immer Benutzereingaben und muß nicht unlogischerweise "initialisiert" werden. Es gibt nur einen Vergleich.
Nächstes Kapitel: Exceptions. neben einigen guten Kommentaren (den try-Block möglichst klein zu halten) wird hier mit keinem Wort auf Exception-Klassen eingegangen. Nur nackte "except:"s. Für alle Anfänger: das darf man nie, nie, nie schreiben. Beim Umwandeln eines Strings in eine Zahl per "int" kann ein ValueError auftreten, und nur den darf man mit except abfangen. Der Autor hat Exceptions nicht kapiert oder ist in der Lage, sie Anfängern näherzubringen.
Bei "Funktionen" wird das bereits gezeigte Additionsrate-Programm in Funktionen aufgeteilt. Aber statt sinnvollerweise die Eingabe der Zahl mit Fehlerprüfung in eine Funktion auszulagern wird tatsächlich die "if zahl==c"-Abfrage in eine Funktion gepackt! Von wegen Wiederverwendbarkeit. Der Teil, der einmalig für die Aufgabe zugeschnitten ist, wird in eine Funktion gesteckt, der Teil, der schon etliche male in verschiedenen Beispielen verwendet wurde, nicht.
Und für "Das fertige Spiel" vergessen wir wieder, dass es Funktionen gibt, klammern Bedingungen bei if lustig ein, als ob wir Java programmieren würden und verhindern durch nackte excepts, dass man den Schrott mit Ctrl-C beenden kann.
Eigentlich wollte ich wohlwollend mit dem Autor sein, weil ich weiß, wie viel Arbeit es ist, ein gutes Anfängerbuch zu schreiben, aber den Böcken, die da geschossen wurden, wurde ich wieder einmal mitgerissen.
Vor allem wenn bei Einrückungen mindestens ein Leerzeichen besser aber zwei oder mehr empfohlen wird, ist das bei einem Pythonbuch schon fahrlässig. Hier gehört ein "Eingerückt wird immer mit vier Leerzeichen. Eine andere Anzahl an Leerzeichen ist zwar möglich, aber nicht empfehlenswert." hin.
Z.B. die Erklärung zum Unterschied von for- und while-Schleifen: ob da ein Anwender etwas eingibt, oder nicht, ist völlig irrelevant. Auch Aussagen wie "Meist werden Schleifen für regelmäßige Abfolgen von Zahlen genutzt." muß man durch "Schlechte Pythoneinführungen benutzen Schleifen meist nur für Abfolgen von Zahlen." ersetzen.
Ein kurzer Check eines meiner Projekte hat 154 for-Schleifen ergeben, bei denen gerade mal bei 4 eine Abfolge von Zahlen vorkommt. Der wirklich häufigste Fall, dass eine for-Schleife alle Elemente einer Liste durchgeht, wird gar nicht beschrieben! Wahrscheinlich, weil Listen bisher noch nicht behandelt wurden.
Ähnlich schlimm sieht es bei while-Schleifen aus:
Der zitierte Code sieht für einen Anfänger ganz in Ordnung aus, er lernt aber gleichzeitig Dinge, die er sich besser erst gar nicht angewöhnen sollte.https://s3-eu-west-1.amazonaws.com/gxmedia.galileo-press.de/leseproben/3594/leseprobe_galileocomputing_einstieg_python.pdf hat geschrieben:Code: Alles auswählen
# Zufallsgenerator import random random.seed() # Werte und Berechnung a = random.randint(1,10) b = random.randint(1,10) c=a+b print("Die Aufgabe:", a, "+", b) # Schleife initialisieren zahl = c + 1 # Anzahl initialisieren versuch = 0 # Schleife mit while while zahl != c: # Anzahl Versuche versuch = versuch + 1 # Eingabe mit Umwandlung print("Bitte eine Zahl eingeben:") z = input() zahl = int(z) # Verzweigung if zahl == c: print(zahl, "ist richtig") else: print(zahl, "ist falsch") # Anzahl ausgeben print("Ergebnis: ", c) print("Anzahl Versuche:", versuch)
- Zeile 3: random.seed ist unnötig und sogar gefährlich, weil es im Zweifel die Zufälligkeit der "Zufallszahlen" zerstört.
- Zeile 12: zahl soll eine Benutzereingabe sein, muß aber vor der Schleife mit einem Wert belegt werden, der nicht c ist, weil man sonst die while-Schleife gar nicht durchlaufen wird. c + 1 ist also nur ein gar nicht so doofer Wert, aber warum nicht c + 2? Am sinnvollsten wäre noch "zahl = None", also zahl hat noch keinen Wert, aber das Konzept von None ist für Anfänger zu schwierig. Aber warum überhaupt eine while-Schleife, wenn man unlogische Zuweisungen benutzen muß?
- Zeilen 15 und 20: hier werden die Versuche gezählt. Wie's eleganter geht, dazu später mehr.
- Zeilen 18 und 26: zweimal der Vergleich ob zahl gleich oder ungleich c ist. Warum muß ich das zweimal machen. Dopplungen will ich ja durch programmieren vermeiden.
- Zeile 22-24: Das Einlesen einer Zahl wird hier ja nicht zum ersten mal gemacht. Ist es da zu kompliziert, dass man auch zwei Schritte auf einmal machen kann und die Variable z weglassen kann?
- Kommentare: die meisten Kommentare haben selbst für einen Anfänger keinen Informationsgehalt. Vor allem Zeile 19 und 25: "Anzahl Versuche" oder "Verzweigung", was soll mir das sagen?
Hier eine andere Lösung:
Code: Alles auswählen
from itertools import count
import random
a = random.randint(1,10)
b = random.randint(1,10)
c = a + b
print("Die Aufgabe:", a, "+", b)
for versuch in count(1):
zahl = int(input("Bitte eine Zahl eingeben: "))
if zahl == c:
# bei richtigem Ergebnis Schleife verlassen
break
print(zahl, "ist falsch")
print(zahl, "ist richtig")
print("Anzahl Versuche:", versuch)
Nächstes Kapitel: Exceptions. neben einigen guten Kommentaren (den try-Block möglichst klein zu halten) wird hier mit keinem Wort auf Exception-Klassen eingegangen. Nur nackte "except:"s. Für alle Anfänger: das darf man nie, nie, nie schreiben. Beim Umwandeln eines Strings in eine Zahl per "int" kann ein ValueError auftreten, und nur den darf man mit except abfangen. Der Autor hat Exceptions nicht kapiert oder ist in der Lage, sie Anfängern näherzubringen.
Bei "Funktionen" wird das bereits gezeigte Additionsrate-Programm in Funktionen aufgeteilt. Aber statt sinnvollerweise die Eingabe der Zahl mit Fehlerprüfung in eine Funktion auszulagern wird tatsächlich die "if zahl==c"-Abfrage in eine Funktion gepackt! Von wegen Wiederverwendbarkeit. Der Teil, der einmalig für die Aufgabe zugeschnitten ist, wird in eine Funktion gesteckt, der Teil, der schon etliche male in verschiedenen Beispielen verwendet wurde, nicht.
Und für "Das fertige Spiel" vergessen wir wieder, dass es Funktionen gibt, klammern Bedingungen bei if lustig ein, als ob wir Java programmieren würden und verhindern durch nackte excepts, dass man den Schrott mit Ctrl-C beenden kann.
Eigentlich wollte ich wohlwollend mit dem Autor sein, weil ich weiß, wie viel Arbeit es ist, ein gutes Anfängerbuch zu schreiben, aber den Böcken, die da geschossen wurden, wurde ich wieder einmal mitgerissen.
Vor allem wenn bei Einrückungen mindestens ein Leerzeichen besser aber zwei oder mehr empfohlen wird, ist das bei einem Pythonbuch schon fahrlässig. Hier gehört ein "Eingerückt wird immer mit vier Leerzeichen. Eine andere Anzahl an Leerzeichen ist zwar möglich, aber nicht empfehlenswert." hin.
Welches (online/pdf/eBook) Tutorial würdest du zum Ausdruck empfehlen?Hyperion hat geschrieben:Du kannst Dir ja auch ein Tutorial ausdrucken (lassen), wenn Du lieber von Papier liest (was ich auch tue).
Leider sind viele gedruckte Python-Bücher suboptimal. Insbesondere für einen Programmieranfänger ist "Learn Python the hard way" sehr zu empfehlen!
Meinst du Shaw, 2013, Learn Python the Hard Way?
So laufen die Diskussionen über Anfänger-Bücher hier immer ab. Ich würde mich deshalb eher auf die Rezensionen bei Amazon verlassen. Dort schreiben Programmieranfänger ob das Buch sie weitergebracht hat oder nicht.Theddun hat geschrieben:Das klingt ja nicht so gut.
Genau, man sollte lieber auf Empfehlunge von Anfängern hören und nicht auf die Leute die es schon können... Mal ernsthaft: Das Problem mit Bewertungen von Anfängern über Anfängerbücher ist, dass sie das Thema gar nicht einschätzen können. Sie mögen zwar irgendetwas gelernt haben, das wichtige ist aber nicht ob, sondern was. Am Ende schreibt dann dann wieder jemand Java-Programme in Python-Syntax. Dann hätte man auch gleich Java lernen können. Gerade bei den deutschen Anfängerbüchern merkt man doch, dass die Autoren nicht besonders viel von der Sprache verstehen und einfach ein neues Buch brauchten.MagBen hat geschrieben:So laufen die Diskussionen über Anfänger-Bücher hier immer ab. Ich würde mich deshalb eher auf die Rezensionen bei Amazon verlassen. Dort schreiben Programmieranfänger ob das Buch sie weitergebracht hat oder nicht.
Warum sollte man sich also ein mittelmäßiges, über falsches, bis schlechtes Buch zulegen, wenn es mit Learn Python the Hard Way ein sehr solides Werk gibt?
Das Leben ist wie ein Tennisball.
Darüber, wie der Inhalt für einen Anfänger aufbereitet und verständlich ist, kann ich nichts sagen, weil jeder Anfänger anders ist. Der eine kommt mit dem einen Buch besser zurecht, der andere mit einem anderen. Der Inhalt an sich sollte aber richtig sein. Einem Anfänger das Richtige beizubringen ist meistens genauso leicht oder schwer, wie das Falsche. Didaktisch ändert sich gar nichts, ob man schreibt, dass mit 4 Leerzeichen eingerückt wird, oder dass mit mindestens einem Leerzeichen eingerückt wird. An kleinen Details (Klammern bei if, z.B.) erkennt man, ob der Autor sich Mühe macht, einem Python-Anfänger Python beizubringen, oder einfach nur den nächsten 300 Seitenwälzer zur nächsten Programmiersprache herunterschreiben will. Wenn jemand Schleifen vor Listen einführt, hat derjenige nicht verstanden, dass in Python for-Schleifen immer über "listen-ähnliche" Objekte laufen und nicht wie in C eine for-Schleife einfach eine Kurzschreibweise einer while-Schleife ist.
Lutz z.B. unterrichtet seit über 15 Jahren Python, Theis macht Schulungen zu C++ und VB, Klein hat sich auf Python spezialisiert. Wem würdest Du am ehesten zutrauen, ein Buch über Python zu schreiben?
Lutz bietet leider keinen Blick auf das eigentliche Buch, nur die Einleitung, seine Quelltexte lassen auf den ersten Blick keine groben Fehler erkennen; Bei Klein gibt es auch ein Kapitel über Schleifen zum Reinschnuppern. Es kommt nach der Einführung von Listen. Vorsicht: er benutzt eval und Stringzusammenstückelung, wo man eigentlich besser formatieren würde. Das schlechte Beispiel, eine Liste mit einer while-Schleife durchzugehen, löst er, wenn er zu for-Schleifen kommt, nicht nochmal richtig, sondern die schlechte Schreibweise bleibt einfach unkommentiert stehen.
Downey kann ich nur nach dem Inhaltsverzeichnis beurteilen, dessen Aufbau sich didaktisch logisch anfühlt. Das Kapitel über "Gestaltung von Schnittstellen" geht ausführlich darauf ein, wie man als Programmierer denken sollte, wie hilfreich das für einen Anfänger ist, kann ich nicht beurteilen.
Zelle geht mir zu leichtsinnig mit eval um, was ganz praktisch ist, um schnell Erfolge zu sehen, aber doch schlechten Stil einprägt. Eindeutig zu viel eval, das scheint seine Lieblingsfunktion zu sein. Dafür führt er sehr früh eine main-Funktion ein. Bei der Namensgebung hält er sich nicht an PEP8 und seine Klassen haben triviale Getter.
Zu Lubanovic kann ich nur wieder das Inhaltsverzeichnis beurteilen, das einen guten Eindruck macht.
Lutz z.B. unterrichtet seit über 15 Jahren Python, Theis macht Schulungen zu C++ und VB, Klein hat sich auf Python spezialisiert. Wem würdest Du am ehesten zutrauen, ein Buch über Python zu schreiben?
Lutz bietet leider keinen Blick auf das eigentliche Buch, nur die Einleitung, seine Quelltexte lassen auf den ersten Blick keine groben Fehler erkennen; Bei Klein gibt es auch ein Kapitel über Schleifen zum Reinschnuppern. Es kommt nach der Einführung von Listen. Vorsicht: er benutzt eval und Stringzusammenstückelung, wo man eigentlich besser formatieren würde. Das schlechte Beispiel, eine Liste mit einer while-Schleife durchzugehen, löst er, wenn er zu for-Schleifen kommt, nicht nochmal richtig, sondern die schlechte Schreibweise bleibt einfach unkommentiert stehen.
Downey kann ich nur nach dem Inhaltsverzeichnis beurteilen, dessen Aufbau sich didaktisch logisch anfühlt. Das Kapitel über "Gestaltung von Schnittstellen" geht ausführlich darauf ein, wie man als Programmierer denken sollte, wie hilfreich das für einen Anfänger ist, kann ich nicht beurteilen.
Zelle geht mir zu leichtsinnig mit eval um, was ganz praktisch ist, um schnell Erfolge zu sehen, aber doch schlechten Stil einprägt. Eindeutig zu viel eval, das scheint seine Lieblingsfunktion zu sein. Dafür führt er sehr früh eine main-Funktion ein. Bei der Namensgebung hält er sich nicht an PEP8 und seine Klassen haben triviale Getter.
Zu Lubanovic kann ich nur wieder das Inhaltsverzeichnis beurteilen, das einen guten Eindruck macht.
Eine englische Ausgabe (von 2014) gibt es übrigens digital als PDF und Online-Version:Sirius3 hat geschrieben: Downey kann ich nur nach dem Inhaltsverzeichnis beurteilen, dessen Aufbau sich didaktisch logisch anfühlt. Das Kapitel über "Gestaltung von Schnittstellen" geht ausführlich darauf ein, wie man als Programmierer denken sollte, wie hilfreich das für einen Anfänger ist, kann ich nicht beurteilen.
http://www.greenteapress.com/thinkpytho ... python.pdf
http://www.greenteapress.com/thinkpytho ... index.html
Eine deshalb, weil es sich um eine Inkarnation von "How to Think Like a Computer Scientist" handelt. Das Buch hat eine etwas verwirrende Editionsgeschichte und kursiert (nicht nur) im Netz unter z.T. unterschiedlichen Namen, mit variierendem Inhalt und teilweise verschiedenen Autorenkonstellationen. "Think Python" und die angesprochene deutschsprachige Ausgabe scheinen die aktuellsten Varianten zu sein. Da die Ausgangsfrage ja auch enthielt, Programmieren an sich zu lernen, könnte das vielleicht einen Blick wert sein.
Die deutsche Auflage von 2014 basiert auf der englischen Auflage von 2012 und ist somit älter als die von dir verlinkten Version von 2014.nezzcarth hat geschrieben:Eine englische Ausgabe (von 2014) gibt es übrigens digital als PDF und Online-Version:Sirius3 hat geschrieben: Downey kann ich nur nach dem Inhaltsverzeichnis beurteilen, dessen Aufbau sich didaktisch logisch anfühlt. Das Kapitel über "Gestaltung von Schnittstellen" geht ausführlich darauf ein, wie man als Programmierer denken sollte, wie hilfreich das für einen Anfänger ist, kann ich nicht beurteilen.
http://www.greenteapress.com/thinkpytho ... python.pdf
http://www.greenteapress.com/thinkpytho ... index.html
Eine deshalb, weil es sich um eine Inkarnation von "How to Think Like a Computer Scientist" handelt. Das Buch hat eine etwas verwirrende Editionsgeschichte und kursiert (nicht nur) im Netz unter z.T. unterschiedlichen Namen, mit variierendem Inhalt und teilweise verschiedenen Autorenkonstellationen. "Think Python" und die angesprochene deutschsprachige Ausgabe scheinen die aktuellsten Varianten zu sein. Da die Ausgangsfrage ja auch enthielt, Programmieren an sich zu lernen, könnte das vielleicht einen Blick wert sein.
Tatsächlich ein großes Chaos, was aber bei englischsprachigen Büchern öfter mal vorkommt, da man sich dort schwer tut ein Auflagensystem zu verwenden wie wir es im deutschsprachigen Raum kennen.
Vielen Dank aber für den wertvollen Link von dir. Ich habe mir die PDF gespeichert und werde heute hinein schauen.
Das Problem ist das Amazon-Bewertungen selbst quatsch sein können. Woher weiß ich ob da der Autor nicht selbst oder per engen Freunden Eigenwerbung macht? Woher weiß ich wie viel der Rezensent wirklich mit dem Buch gemacht hat? Woher weiß ich ob er später wirklich Python konnte?MagBen hat geschrieben:So laufen die Diskussionen über Anfänger-Bücher hier immer ab. Ich würde mich deshalb eher auf die Rezensionen bei Amazon verlassen. Dort schreiben Programmieranfänger ob das Buch sie weitergebracht hat oder nicht.Theddun hat geschrieben:Das klingt ja nicht so gut.
Zumindest wenn ich mir Bewertungen von Büchern aus Fachbereichen anschaue wo ich wirklich Ahnung habe, können diese keinesfalls als Indikator gelten wie lehrreich oder inhaltlich wertvoll ein Buch ist.
Was ist Wahrheit?Theddun hat geschrieben:Woher weiß ich ob da der Autor nicht selbst oder per engen Freunden Eigenwerbung macht? Woher weiß ich wie viel der Rezensent wirklich mit dem Buch gemacht hat? Woher weiß ich ob er später wirklich Python konnte?
Darum geht es doch gar nicht, sondern darum mit Hilfe der Bewertungen das geeignete Buch rauszusuchen.
Mir geht es nicht so, auch bei Themen von denen ich Ahnung habe, höre ich mir gerne mal eine andere Meinung an.Theddun hat geschrieben:Zumindest wenn ich mir Bewertungen von Büchern aus Fachbereichen anschaue wo ich wirklich Ahnung habe, können diese keinesfalls als Indikator gelten wie lehrreich oder inhaltlich wertvoll ein Buch ist.
@MagBen: Das ist Unsinn. Du magst Dir ja gerne Meinungen von Leuten anhören die vom Thema keine Ahnung haben, aber was bringt einem das wenn man sich selber in ein Thema einarbeiten möchte? Dann macht es doch deutlich mehr Sinn nicht die Blinden zu fragen ob sie die Beschreibung der Farben von einem anderen Blinden nützlich fanden. Kann ja sein, aber sie haben deshalb ja trotzdem keine Ahnung wie die Farben denn nun *wirklich* funktionieren.
Ich glaube nicht, dass ein Anfänger keine Ahnung davon hat, was ein gutes Lehrbuch ist. Meine Erfahrung ist auch nicht, dass Anfänger Blind sind. Ich benutze Amazon-Rezensionen seit vielen Jahren als Auswahlkriterium und es funktioniert.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Die empirische Erfahrung in diesem Forum ist allerdings, dass Anfänger sich verleiten lassen. Unzählige Postings bestätigen, dass diese das "Python Open Book" vom ehemaligen Galileo Verlag und einen europäisch angehauchten Online Kurs sehr gerne verwenden - und beides sind schlechte Quellen!MagBen hat geschrieben:Ich glaube nicht, dass ein Anfänger keine Ahnung davon hat, was ein gutes Lehrbuch ist. Meine Erfahrung ist auch nicht, dass Anfänger Blind sind.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert