Ich entschuldige mich wirklich, wenn dies nicht den SO-Regeln entspricht, aber ich brauche ein wenig Hilfe. Ich persönlich klassifiziere mich immer noch als Anfänger in Python. Dennoch habe ich ein sehr kleines und SEHR SICHER unpraktisches Programm geschrieben, das mein Chef verwenden kann.
Ich weiß, dass ich noch ein Anfänger bin, weil mich einfache Dinge immer noch verwirren, aber jedes Buch, das ich für Anfänger lese, überarbeitet ehrlich gesagt nur das, was ich bereits weiß, aber jedes "fortgeschrittenere" Buch lässt mich nicht wirklich lernen, es hängt von Beispieldateien ab und ich verstehe nie wirklich, warum sie "sagte" Funktion oder "sagte" Klasse gebaut haben. Also auf meine Frage ...
Gibt es irgendwelche Empfehlungen für ein Buch oder ALLES, was mich aus dieser Phase herausdrängt, ich habe es mit dem Kopf voran verwendet und normalerweise sind sie wirklich gut, aber mein Problem ist, dass sie mich zurückverfolgen lassen, nur um wieder vorwärts zu kommen, es hat in HTML aber funktioniert Es ist verwirrend in Python, im Grunde denke ich, ich muss ein Programm erstellen, während ich folge. Wieder mag ich HeadFirsts Stil, aber ich brauche etwas, das mich nicht zwingen wird, mich an eine Sache zu erinnern, nur um es zu vergessen ...
Ich habe einige O'Reilly-Bücher eingecheckt
Antworten:
Hör auf Bücher zu lesen.
Schreiben Sie den Code mit der jetzt lesefreien Zeit. Trainieren. Nachdenken. Stellen Sie sich echten Problemen in realem Code, den Sie schreiben.
Dann haben Sie genug Fragen, die fortgeschrittene Bücher beantworten können. Jetzt haben Sie diese Fragen nicht mehr und die Antworten in den Büchern ergeben für Sie keinen Sinn.
Dies ist sehr ähnlich wie das Erlernen einer Fremdsprache oder das Erlernen des Schwimmens: Bücher allein können nicht helfen. Sie müssen viel üben, dann "bekommt" Ihr Gehirn es.
quelle
FWIW, die Art und Weise, wie ich Python wirklich lernte, bestand darin, eine nicht triviale Anwendung für mich selbst zu schreiben . Eigentlich war es ein Umschreiben der gleichen Anwendung, die ich zuvor erstellt hatte, um C (und später C ++) zu lernen. Ich war also sehr vertraut damit, welche Art von Verarbeitung durchgeführt werden musste. Bei jedem (Neu-) Schreiben habe ich versucht, die besonderen Merkmale der verwendeten Sprache zu nutzen, oder die ich einfach ausprobieren wollte.
Als Bonus haben Sie, wenn Sie fertig sind oder zumindest eine funktionierende Version haben, etwas Nützliches und keine Programmierübung, die für sich genommen wertlos ist. Sie können auch später zurückgehen und das Programm ändern, nachdem Sie mehr über bessere Methoden zum Ausführen von Aufgaben in der Sprache erfahren haben.
Eine sehr nützliche Methode, um in einer Programmiersprache besser zu werden, besteht darin, einfach viele andere Programme zu lesen. Eine gute Möglichkeit, dies heutzutage zu tun, ist die Verwendung von Google, wie in dieser StackedOverflow- Antwort beschrieben . Dies ist eine großartige Ressource, und Sie werden häufig Code lesen, der von professionellen Programmierern geschrieben und in anderen realen Anwendungen verwendet wird.
Aktualisieren:
Da die Google- Codesuche am 15. Januar 2012 eingestellt wurde und nicht mehr nur auf die regulären Google-Suchen zurückgegriffen wird, gibt es eine vielversprechende Sammlung von Code-Snippets . Eine Reihe anderer Ressourcen werden in Antworten auf diese (geschlossene) Frage erwähnt. Ersatz für Google Codesuche? .
quelle
Machen Sie einfach weiter mit den einfachen Konzepten. Machen Sie kleine Programme, die ihre Konzepte zusammenfassen. Irgendwann wirst du einen Hügel des Verstehens erklimmen und neue Dinge werden dir mehr Sinn machen. Ich führe auch ein Verzeichnis namens Python-Snippets. Ich finde es als Ausgangspunkt in bestimmten Konzepten nützlich.
Ein anderer Trick, den ich für unschätzbar halte, besteht darin, den Code anderer Leute zu lesen und zu kommentieren und dabei zusammenzufassen, was jede Zeile und jeder Abschnitt tut. Wenn ich es nicht weiß, ist es Zeit für Google. Auf diese Weise sehe ich Python in Aktion und kann es in ordentliche Abschnitte aufteilen.
Eine besonders umfangreiche Quelle für Code ist die Python-Quelle selbst.
quelle
Wenn Sie sich bei grundlegenden Python-Bibliotheken oder objektorientiertem Design nicht sicher sind (da Sie nicht wissen, warum die Klasse oder die Funktion "said" verwendet wurde):
Aufbau von Fähigkeiten in objektorientiertem Design hilft Ihnen beim Durchdenken des objektorientierten Designs.
Die andere Seite von S.Lott, Fertigkeiten in Python aufbauen , ist möglicherweise auch eine gute Möglichkeit, um Ihre Python-Fertigkeiten über die Grundlagen hinaus zu erweitern. Es gibt viele Anwendungen, die etwas einfacher sind als die unten aufgeführten Bücher, aber trotzdem Spaß machen und lehrreich sind.
Wenn Ihr Problem darin besteht, dass Sie nicht herausfinden können, wie Sie mit Python etwas Interessantes tun können:
1) Einstieg in Python: Vom Anfänger bis zum Profi : GUIs, Schreiben einer eigenen File-Sharing-App usw. Ich mag auch den Stil von Hetland.
2) Sie haben O'Reilly-Bücher erwähnt, aber Programming Python befasst sich fast ausschließlich mit Anwendungen anstelle von Syntax. Es hat viele interessante Anwendungen, die Ihre kreativen Säfte zum Fließen bringen. Es ist ein riesiges Buch (~ 1.500 Seiten, glaube ich), und 4e konzentriert sich ausschließlich auf Python 3, öffnet aber definitiv die Augen für die Verwendung von Python.
quelle
Es gibt zwei Python-Bücher, die ich empfehlen würde, und eines davon wurde bereits von @MikeRand erwähnt:
Beachten Sie, dass die neuesten Versionen beider Bücher Python 3 abdecken. Wenn Sie mit einer älteren Version von Python arbeiten, suchen Sie nach einer früheren Version der Bücher. FTR, eine alternative Option ist Python für Software-Design (früher Wie man wie ein Informatiker denkt: Lernen mit Python, erwähnt von @ oscar-mederos), aber der größte Teil des Inhalts ist auch einleitend (und in diesem Sinne würde ich stattdessen empfehlen, in Python einzutauchen ).
quelle
Am effizientesten ist es, Ihren Code regelmäßig von einem erfahrenen Mentor überprüfen zu lassen und seine Vorschläge umzusetzen. Dies ist einer der größten Vorteile eines Hochschulabschlusses, muss aber nicht unbedingt so formal sein. Ich betrachte mich als fortgeschrittener Programmierer, gehe aber trotzdem den Flur entlang, um wichtige Designentscheidungen mit einem Kollegen zu besprechen, bevor ich programmiere, und lasse das fertige Produkt anschließend überprüfen.
quelle
Neben einigen der erwähnten Bücher (insbesondere Wie man wie ein Informatiker denkt ), besuchen Sie die Python-Rezepte- Site von ActiveState . Lesen Sie einige Dinge, die Sie interessieren, sehen Sie sich den Code an und finden Sie dann heraus, wie Sie das Problem angegangen wären und wie sich das vom Rezept unterscheidet.
quelle
Dies ist ein ziemlich seltsamer Vorschlag, aber die Art und Weise, wie ich dort sein muss, wo ich bin, besteht darin, Fragen zu stellen und zu beobachten, wie andere Leute Fragen stellen und die Antworten lesen. Durchsuchen Sie also die Python-getaggten Fragen von Stack Overflow, oder werden Sie (wie in meinem Fall) regelmäßig bei #python on freenode.
quelle
Probieren Sie das Buch "Hallo Welt! Computerprogrammierung für Teenager und andere Anfänger" von Warren und Carter Sande aus. So habe ich Python Scripting gelernt, oder ich habe gehört, dass "Hallo! Python" von Anthony Briggs ebenfalls ein fantastisches Buch ist.
Konzentrieren Sie sich darauf, Ihre Programme mit Funktionen, Kommentaren und einer Art Struktur zu organisieren, wie sie ablaufen. Vergessen Sie nicht: Ein Programm ist einfach eine Reihe von Anweisungen, denen der Computer folgt. Machen Sie es einfach zu lesen und zu verstehen.
quelle