(How ) TO Learn Python

  • Hallo,


    Ich bin dessen bewusst, dass dieser Titel etwas Kontrovers ist. Aber bevor ihr aufhört zu lesen, lasst euch die Hintergrundgeschichte erklären.


    Ich möchte euch bitten, dass sich hier eine Gruppe zusammen trifft, welche jeweils verschiedene Aufgaben übernehmen. Bsp: Member 1 achtet auf Einrückungen , Member 2 Auf Sorgfalt. Im Voraus könnte man ja sich einigen, wer welchen Part übernimmt, wenn überhaupt sich jemand dazu bereiterklärt ;)


    Das Ziel soll sein, dass es ein interaktiver Thread ist , damit jeder der am Ende des Threads ist, Python verstanden hat und auch bei eigenen Projekten anwenden kann.


    Eine bitte Vorweg: :streit: , das möchte ich hier nicht haben!!! Es soll Spaß machen, zu lesen. Ich fand Bücher immer uncool...


    mfg

    Wenn's brennt 112 hilft weiter!

  • Sofern Kritik erwünscht ist, und das sollte es:

    So ganz verstehe ich den Sinn dieses Threads nicht.

    Auf Einrückungen muss jeder achten sonst funktioniert das Script nicht. Wir haben hier im Forum auch bereits einen Thread um kleinere Fragen zu beantworten (ganz oben angepinnt), Unterstützung für umfassende Projekte sollten lieber in eigenen Threads behandelt werden - das gehört auch zur Sorgfalt.

    Python lernt man durch Umsetzung mehrer Ideen und Projekten. Da Python ziemlich umfangreich ist würde ein allgemeines abdecken eines "Buches" den Thread sprengen und auch eher unübersichtlich werden lassen.

    Wenn sich mehrere zusammen tun um für andere Scripts zu erstellen lernt der beholfene nichts.

  • Hey,


    Kritik ist immer nur dann erwünscht, wenn sie konstruktiv ist - wie sie es ja in deinem Falle ist.

    Meine Beispiele waren echt blöd gewählt , es ging aber darum, dass sich ein kleines "Team" zusammenstellt welche gemeinsam Aufgaben übernehmen. Jeder Darf hier die wichtigsten Schritte für einen Anfänger zusammenschreiben, solange es höflich bleibt. Die Ordnung und verlinkungen zu den jeweiligen Beiträgen, werden dann in dem 1. Beitrag gelistet werden.


    Ich möchte hier klar stellen, dass es NICHT darum geht, Macht mal, keine lust zu lernen aber ihr macht das schon iss mir auch egal obs richtig läuft oder nicht.


    Sondern, dass lernwilligen ein besserer und einfacherer Einstieg ermöglicht wird, damit sie eben selbst die Software hinter ihrem Projekt entwickeln können.

    Ich möchte aber zugleich, dass dieser Thread von den Forenusern lebt, dass sich hier ausgetauscht wird, damit es besser und besser wird - eben durch den Austausch. Das es eben kein Ende hat, sondern immer weiterentwickelt werden kann .


    Dieser Thread soll leben durch die Community, dass ist mein Ziel:wink:


    mfg

    Wenn's brennt 112 hilft weiter!

  • Hallo,


    ich verstehe den Sinn immer noch nicht... soll das eine Art Tuturial werden? Oder so eine Art Wikibook?


    Quote


    Jeder Darf hier die wichtigsten Schritte für einen Anfänger zusammenschreiben

    Was meinst du mit "wichtigste" Schritte?


    Gruß, noisefloor

  • Hallo,


    So ungefähr..

    Was meinst du mit "wichtigste" Schritte?

    Schau mal, jeder hat doch auch mal angefangen und genau diese Schritte , wie er angefangen hat sind doch das, was sehr informativ ist. Damit einfach jedem der Einstieg erleichtert werden kann, gibt es diesen Thread.


    mfg

    Wenn's brennt 112 hilft weiter!

  • Hallo,


    na ja, am Anfang ist es ja eher: welches sind die größten Fehler, die ich gemacht habe? ;-)


    "Erfolgreich" sind erfahrungsgemäß alle Anfänger, die ein _Ziel_ haben (also ein Programm, was sie für sich unbedingt haben wollen, weil sie es nutzen wollen) und den nötigen Willen und die nötige Lernbereitschaft haben, dass Ziel zu erreichen. Was gerne damit einher geht, dass das Programm 2-3 mal neu geschrieben wird.


    _Was_ das Programm macht (Webanwendung, Terminalprogramm, ...), ist sekundär.


    Und Leseunlust hin oder her: es ist _IMMER_ absolut sinnvoll, zumindest 1x das offizielle Python-Tutorial durchzuarbeiten. Daran wird auch dieser Thread nichts ändern.


    Gruß, noisefloor

  • Es gibt doch schon das dt. Python Forum :conf:


    Ich will dir hier deine Idee nicht kaputt machen, aber auch ich habe das meiste am Anfang aus Büchern und den Python-Docs gelernt. Außerdem viel Trial und Error, alles verstanden habe ich nicht immer. Im Nachhinein ist der Python-Code von damals schrecklich (ein paar Dinge hab ich noch, ich hatte mit Pygame angefangen.)


    Dennoch werde ich das hier gespannt weiter beobachten, und wenn das "Format" passen sollte, wäre ich gewillt zu helfen. Manchmal hätte auch ich mir vielleicht einen Thread wie dieser es werden soll gewünscht :angel:

  • Meine Idee wäre ja, dass jede Woche vielleicht 1-2 Fragen hier rein kommen (diese werden dann explizit gekennzeichnet) und dann kommen dementsprechend die Antworten - Die Fragen, sind wirklich typische Anfänger Fragen, die ich mir bis jetzt zu häufig gestellt habe.


    Vielleicht auch ein Extra Thread für sie fragen?

    Wenn's brennt 112 hilft weiter!

  • Hallo,


    wie willst du denn regeln, dass "nur" 1-2 Fragen rein kommen? Wer beurteilt, ob es eine "typische Anfängerfrage" ist? Wer beurteilt, ob die Antworten brauchbar sind? Es gibt ja bekanntlich Leute, die im tiefsten Brustton der Überzeugung den größten Sch**** erzählen. Als Anfänger erkennst du das nur nicht.


    Deine Absicht mag ja ehrbar sein, aber IMHO hast du kein brauchbares und belastbares Konzept.


    Quote


    Im Nachhinein ist der Python-Code von damals schrecklich

    Ich habe meine ersten Produktiv-Code nicht mehr - aber ich erinnere mich noch: das war "Spaghetti-Code", der als CGI-Anwendung im Apache lief. Zu meiner Entlastung möchte ich aber noch anmerken, dass das in prä-WSGI Framework Zeit war. Seit Version 0.3. oder 0.4 benutze ich Bottle, das war dann ein Schritt vorwärts :-)


    Gruß, noisefloor

  • Hallo raspbastler,


    ich kapier's immer noch nicht...


    Ein "Mitarbeiter" beschreibt in einem Beitrag wie man z.B.Hallo Welt im Terminal ausgibt. Dann haben die Schüler die Möglichkeit dazu Fragen zu stellen? Oder soll der Thread "nur" als ein neues bzw. weiteres Tutorial fungieren? Oder soll man hier Scripte posten können und die "Mitarbeiter" geben konstruktive Kritik? (wäre auch nicht schlecht ;))


    Wie gesagt, sorry ich verstehe den Gedanken dahinter nicht so richtig.

  • hyle


    Der Plan soll so aussehen:


    Jeder der Lust und Muße hat, kann seinen Einstieg mit python hier niederschreiben.

    Sowie aber auch, Infos, welche ides genutzt werden sollten.

    Wie generell ein Python-Script geschrieben werden sollte.


    Zu deiner Idee am Ende des Beitrags, die finde ich klasse - wäre auch eine Möglichkeit, zumal man kann dann am ersten Beitrag ein Inhaltsverzeichnis (Scriptsammlung) führen :)



    Einfach gesagt, ein fortlaufender Thread, welcher einen Einstieg in Python erleichtern soll.


    noisefloor


    Deine Argumentationen kann ich nachvollziehen, jedoch könnte es wie folgt laufen :

    Kalenderwoche xy

    Frage 1 : Welche Möglichkeiten bietet mir Python? (4 likes)

    Frage 2 : Warum Python? (1Like)

    Frage 3: Was sind Module? (2Likes)


    Dann würde ich meiner Meinung nach, die Fragen 1 und 3 nehmen.

    Ich werde die Tage mal ein Konzeptdiagramm hochladen (nachdem ich mir Gedanken gemacht habe ;) dann könnte man nochmal drüber debattieren:)



    EDIT : An alle, es geht nicht darum, dass wir das jetzt MACHEN müssen, weil ich die Idee habe bzw. Hatte. Ich wollte euch einfach nur die Möglichkeit geben, dazu eure Meinung zu äußern - ohne Zwang, an etwas teilnehmen zu müssen..


    Mfg

    Wenn's brennt 112 hilft weiter!

  • Du meinst also, eher Erfahrungsberichte, Tipps und Hinweise, wie man selbst den Einstieg geschafft hat bzw. ihn gerade macht?


    Bildlich gesprochen ein wenig mehr "an die Hand nehmen" beim (erschlagend großen-) Thema Programmierung und soetwas wie moderierter Austausch von Anfängern?


    Als einer der Erfahreneren in dem Gebiet, könnte ich mir durchaus vorstellen, dass das funktionieren könnte - sei es auch erst einmal nur, um die Motivation hoch zu halten. Denn die Einstiegshürde ist immens, gerade wenn man die ersten "Hallo Welt" Erfolge hinter sich hat.


    Ich beobachte mal wie sich das hier entwickelt und könnte mir vorstellen, als nicht-Pythonist auch mal was in Richtung allgemeine Programmiertipps (Struktur :)) vorstellen.

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

  • Auch wenn ich jetzt gleich geschlagen werde. Ich bezeichne mich selbst nicht als Programmierer - ich hab mir python, soweit es für mich notwendig ist beigebracht. Bei mir steht immer die Problemlösung im Vordergrund - ob der Code einen Erfahrenen Programmierer vor Schreck erstarren lässt, ist mir eigentlich egal ;). Ich finde das ganze "Du MUSST das so und so machen" verschreckt viele Anfänger, weil es einfach weit über Ihr Wissen hinausgeht. Deswegen einfach machen - Fehlermeldungen googlen - Antworten versuchen nachzuvollziehen. Da wäre schon viel gewonnen.:2cents:

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Fehlermeldungen googlen

    Da sehe ich ernsthaft ein riesiges Problem, das scheinen immer weniger zu beherrschen. Das Netz wird nach wie vor mit den üblichsten Fehlermeldungen geflutet, die einem jede Suchmaschine in 0.2s zufriedenstellend beantworten kann. Ich habe auf StackOverflow mal so eine Frage beantwortet, da gab es schon zwei GitHub issues zu, die das Problem genaustens erklärt haben. Die Antwort hat mittlerweile 55 Upvotes, entweder habe ich also damit die GH Issues in den Suchergebnissen übertrumpft oder die haben das Ganze auch nicht selbst herausfinden können :conf:


    Kurz und gut - dass man Fehlermeldungen auch in eine Suchmaschine kopieren kann muss man IMHO einem jeden Anfänger in den Kopf prügeln und überhaupt einmal klar machen. Das jedenfalls zeigt leider vielfach meine Erfahrung.

  • Für jemanden der schon ein wenig Erfahrung mit irgendeiner Programmiersprache gemacht hat, ist es m.E. leichter eine gewisse Struktur in einer anderen Sprache zu erkennen und diese deuten zu können, für einen Anfänger sind das alles böhmische Dörfer.


    Und früher war es leichter einen sinnvollen Treffer mittels Suchmaschinen bezüglich Fehlermeldungen zu haben, heute postet jeder mit ein bisschen Halbwissen seinen Müll und alles wird indiziert. :no_sad: Ich hatte heute auch so meinen "Spaß" damit, aber keine Lösung gefunden...


    Aber wir schweifen ab... ;)