Ich fühle mich im Zentrum von Python gefangen. Wie komme ich an Anfängern vorbei?

22

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

Isov5
quelle
7
Schreiben Sie für jedes Anfangskonzept ein paar kleine Programme, bis Sie den Dreh raus haben. Sobald Sie sich wohl fühlen, tun Sie dasselbe mit immer mehr, bis Sie zu fortgeschrittenen Sachen kommen. Nur ohne Übung und Codierung zu lesen, hilft Ihnen nicht viel.
6
Haben Sie schon gelesen, wie man wie ein Informatiker denkt ?
Oscar Mederos
Haben Sie das Tutorial docs.python.org/tutorial/index.html bereits verfolgt ? Haben Sie bestimmte Aspekte, die Sie verwirren? Wenn Sie sie mit einigen Codebeispielen veranschaulichen könnten, wäre es noch besser.
Juanchopanza
Braucht der Chef nicht auch ein größeres Programm, das in Python geschrieben ist? Du brauchst Erfahrung ...
2
Tu, versuche und stelle Fragen, wenn du nicht verstehst, die Leute hier werden dir helfen.
Monkut

Antworten:

23

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.

9000
quelle
19

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? .

Martineau
quelle
5
Betonung auf Nicht-Trivialität. Um zu lernen, wie man schwierige Dinge tut, versuchen Sie, schwierige Dinge zu tun.
Bryan Oakley
5

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.

Alan
quelle
5

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):

  1. Aufbau von Fähigkeiten in objektorientiertem Design hilft Ihnen beim Durchdenken des objektorientierten Designs.

  2. 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.

MikeRand
quelle
+1 für den Hinweis auf die S. Lott-Website ... Ich habe das noch nie gesehen.
Gerrat
4

Es gibt zwei Python-Bücher, die ich empfehlen würde, und eines davon wurde bereits von @MikeRand erwähnt:

  • Dive Into Python 3 ist ein Muss für jeden, der einführende und fortgeschrittenere Themen behandelt.
  • Das Programmieren von Python ist meiner Meinung nach das richtige Buch, um sich mit sehr fortgeschrittenen Python-Themen zu befassen. Es deckt auch viele Bereiche ab, zum Beispiel (G) Benutzeroberflächen, Systemanwendungen, Webprogrammierung usw.

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 ).

Sakisk
quelle
3

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.

Karl Bielefeldt
quelle
0

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.

Peter Rowell
quelle
-1

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.

Devin Jeanpierre
quelle
-3

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.

ryanb173
quelle