Der beste Weg, um Python zu lernen

Python ist beliebter als je zuvor und wird überall verwendet, von Back-End-Webservern über die Entwicklung von Front-End-Spielen bis hin zu allem, was dazwischen liegt. Python ist eine echte Universalsprache und entwickelt sich schnell zu einem unverzichtbaren Werkzeug im Arsenal eines jeden Programmierers, der sich selbst nicht versteht.

Aber Python ist nicht beliebt, nur weil es beliebt ist. Es ist leicht zu erlernen, liest sich wie ein Pseudocode und ist böse agil. Das Erlernen einer neuen Sprache kann jedoch eine schwierige Aufgabe sein, und die Suche nach den richtigen Orten und Menschen, von denen aus gelernt werden kann, ist die halbe Miete. Dort kann dieser Leitfaden helfen. Dies ist Ihr Plan, damit Python einfach, unterhaltsam und lohnend ist.

Suche nach einer Verknüpfung?

Dieser Artikel bietet eine Vielzahl von Ressourcen. Wenn Sie jedoch etwas strukturierteres bevorzugen, bietet Envatos Einführung in Python einen umfassenden Satz an Video-Lektionen, mit dem Sie sich schnell mit Python für nur 5 US-Dollar vertraut machen können.

Aufgabe 1: Beginnen Sie mit den Grundlagen

Zum Zeitpunkt dieses Schreibens gibt es zwei Hauptversionen von Python: Python 2.7 und Python 3.2. Was Sie wählen, um zu lernen, spielt keine große Rolle, da die Unterschiede - insbesondere für Anfänger - minimal sein werden. Sie sollten jedoch wissen, dass Python 3 zwar weitaus mehr Unterstützung von Drittanbietern bietet, Python 3 jedoch der primäre Fokus der Entwickler ist, die die Sprache entwerfen. Sie haben die Wahl, aber wenn Ihr Code sich von einem bestimmten Tutorial unterscheidet, stellen Sie sicher, dass Sie dieselbe Python-Version verwenden, die im Tutorial verwendet wird.

Wikibooks-Tutorial für Nicht-Programmierer für Python

Wikibooks ist immer eine großartige Quelle, um etwas Neues zu lernen, und Python ist keine Ausnahme. Hier finden Sie eine solide und auf den Punkt führende Reihe von Leitfäden, in denen Sie die Seile von Python lernen werden. Es wird nicht zu technisch, und Sie können schnell etwas nützliches und lohnendes Programmieren. Aus diesem Grund empfehle ich diese Site als besten Startpunkt für Ihre Python-Reise.

Das offizielle Python-Tutorial

Sie finden keine bessere Informationsquelle als die offizielle Dokumentation von python.org. Wenn Sie jedoch sofort einsteigen möchten, ist dies sicherlich nicht der beste Startpunkt.

Der Inhalt ist eher technischer als Wikibooks, was später hilfreich ist, wenn Sie sich durch die Sprache bewegen. Aber für einen Anfänger kann es einer wirklich einfachen und schönen Sprache im Weg stehen.

Für Anfänger ist der größte Unterschied zwischen Python 2 und Python 3 höchstwahrscheinlich die, die Python 2 verwenden kann drucken ohne Klammern. Python 3 benötigt Klammern, aber das ist alles.

Aufgabe 2: Tutorials und Screencasts

TheNewBostons Python-Programmier-Tutorials

Die Wiedergabelisten von TheNewBoston sind immer großartig und Sie können eine Vielzahl von Sprachen lernen. 'Bucky' ist ein großartiger Lehrer, weil er eine wirklich großartige Balance zwischen lustig und leicht zu hören findet. Ich kann jede seiner Wiedergabelisten wärmstens empfehlen - besonders seine Python-Wiedergabeliste. Er setzt null Programmierkenntnisse voraus und lässt Sie die Sprache beherrschen.

Nettuts Python von Scratch

Etwas näher an der Heimat ist Giles Lavelles Einführung in Python. Wie die Serie TheNewBoston setzt Lavelle auch auf null Programmiererfahrung.

Wenn Sie einige reale Anwendungen Ihrer Anwendungen sehen oder eine Webentwicklung mit Python anstreben möchten, ist diese Serie möglicherweise die richtige für Sie.

Der Screencast führt Sie vom Nichts zum Aufbau einer dynamischen Website mit einem Python-Web-Framework namens Django.

ShowMeDo's Python-Screencasts

StackOverflow ist nicht nur voller Fehler und Probleme.

ShowMeDo hat einen riesigen Katalog an Python-Videos. Auch wenn dies nicht die benutzerfreundlichste Erfahrung ist, reichen die Videos von Anfängern bis zu den fortschrittlichsten Python-Techniken. Es lohnt sich, es auszuprobieren.

Baue einen Python-Bot, der Web-Spiele spielen kann

Dieses Tutorial ist ziemlich spezifisch in Bezug auf das, was Sie lernen werden, und ich empfehle es nicht für einen Anfänger. Ich denke jedoch, dass es eine Erwähnung wert ist. In diesem Handbuch zeigt Chris Kiehl, wie man einen sehr interessanten Python-Bot baut, der ein einfaches Spiel für Sie spielt. Das Tutorial zeigt wirklich die Macht von Python; Es kann angewendet werden, um sich täglich wiederholende Aufgaben auszuführen, die Sie möglicherweise auf Ihrem Computer haben.

Aufgabe 3: Kostenlose E-Books!

Es ist schwer, ein gutes Buch zu schlagen, wenn Sie versuchen, etwas Neues zu lernen, und dank der großartigen Community, die sich rund um die Python-Sprache entwickelt hat, gibt es eine Fülle von kostenlosen hochwertigen E-Books zur Auswahl. Nachfolgend finden Sie eine kurze Liste der Besten. Sie können eine kostenlose E-Book-Version für jeden von ihnen herunterladen oder Sie können das physische Buch kaufen (oder spenden), wenn Sie den Autor unterstützen möchten.

Lerne Python auf die harte Tour

Trotz des Namens macht Learn Python The Hard Way das Lernen von Python unglaublich einfach - so wie es sein sollte! In diesem Buch arbeitet Zed A. Shaw von Grund auf auf und gibt Ihnen einen detaillierten und umfassenden Leitfaden für Python, ohne sich mit der eigentlichen Codierung zu beschäftigen. Shaw ist informell, aber gründlich und macht das Buch zu einer einfachen, aber lohnenden Lektüre.

Think Python: Wie man als Informatiker denkt

Sie finden keine bessere Informationsquelle als die offizielle Dokumentation von python.org.

Wie der Untertitel „Wie man als Informatiker denkt“ suggeriert, bleibt Think Python etwas mehr auf der theoretischen Seite. Dies mag für einen Anfänger etwas frustrierend sein, aber das Buch ist in Bezug auf die Algorithmiktheorie und die Konzepte auf hohem Niveau durchaus lesenswert.

Mit Python erfinden

Wenn du durch das Lernen lernen willst, wird es eine lohnende Erfahrung sein, dein eigenes Spiel zu bauen! In diesem Buch setzt Al Sweigart keine Vorkenntnisse in Python voraus und bringt Sie zum Aufbau Ihres eigenen Spiels. In Anbetracht der Tatsache, dass das Buch auf die Entwicklung von Spielen ausgerichtet ist, bewegt sich das Buch möglicherweise für einen Anfänger etwas schnell. In diesem Artikel erwähne ich später ein ähnliches Buch von ihm, in dem er Python-Kenntnisse voraussetzt. Wenn Sie der Meinung sind, dass Sie die Sprache gut verstehen, könnte sein anderes Buch eine bessere Ressource für Sie sein.

Das Django-Buch

Wenn Sie Python für die Webentwicklung erlernen möchten, verwenden Sie wahrscheinlich das Django-Framework. Dieses Buch setzt fließende Kenntnisse in Python voraus, aber es lehrt Django, als ob Sie ein Anfänger des Frameworks wären. Das Django-Buch ist so gut wie es kommt und wird für jeden angehenden Webentwickler von unschätzbarem Wert sein.

Python-Bücher

Wenn Sie noch nicht genug zu lesen haben oder ein Buch zu einem bestimmten Thema wünschen, sollten Sie diesem Link folgen. Die Leute auf python.org haben eine umfangreiche Liste von Büchern zusammengestellt, sortiert nach Schwierigkeitsgrad und Thema.

Aufgabe 4: Machen Sie sich mit StackOverflow vertraut

Tausende Entwickler haben jedes Problem erlebt, mit dem Sie konfrontiert sind. StackOverflow ist eine großartige Ressource, in der Entwickler Lösungen für ihre Probleme finden. Wenn Sie auf einen Fehler stoßen, der nicht sicher ist, wie er behoben werden soll, suchen Sie nach StackOverflow. Sie werden höchstwahrscheinlich eine Lösung finden und wie andere Menschen ihr Problem gelöst haben.

StackOverflow ist jedoch nicht nur voller Neulinge und Probleme. Es gibt einige kluge und hilfsbereite Menschen, die die Website nutzen - von ihnen lernen!

Sehen Sie sich zum Beispiel die verborgenen Funktionen des Python-Threads an.

Viele der Tipps und Tricks, die Sie hier sehen, werden in vielen formalen Tutorials möglicherweise nicht behandelt. Sie sind jedoch für fortgeschrittene Python-Benutzer äußerst hilfreich.

Aufgabe 5: Projekt Euler

Project Euler (ausgesprochen "Oil-er", um später etwas Peinlichkeit zu ersparen) ist eine meiner Lieblingswebseiten. Nachdem Sie ein Konto erstellt haben, können Sie die ~ 400 Probleme auf der Website durcharbeiten. Jedes Problem besteht zu etwa 50% aus Mathematik und zu 50% aus Programmierung und meiner Meinung nach der lohnendste Weg, um mehr von jedem Fach zu lernen.

Die Probleme beginnen einfach, um Ihre Sprachkenntnisse zu testen, werden jedoch schwieriger, um selbst die erfahrensten Programmierer herauszufordern. Die Schwierigkeit der Probleme zwingt Sie schließlich dazu, den effizientesten Algorithmus zu finden - das heißt, wenn Sie nicht stundenlang warten möchten, um die Antwort zu berechnen.

Nichts wird Sie schneller zum Programmierassistenten machen, als sich für die schnellsten und effizientesten Lösungen für die Project Euler-Probleme einzusetzen.

Wenn Sie ein neues Problem lösen, erhalten Sie Zugriff auf den Forumsthread des Problems, in dem viele Leute ihre Lösungen und Ideen miteinander besprechen. Viele der Lösungen auf späteren Seiten des Threads werden in Python sein. Dies ist wirklich der Schlüssel zum Wachstum Ihrer Programmierkenntnisse. Wenn es jemanden gibt, der eine Lösung hat, die schneller ist als Ihre, sollten Sie sich die Zeit nehmen, um zu analysieren, wo Sie Ihre eigene Lösung verbessern können. Im Laufe der Zeit werden Sie alle Tricks des Handels aufgreifen und Ihr Python-Wissen auf sinnvolle und lohnende Weise erweitern.

Darüber hinaus gibt es auch einige wirklich großartige Blogs, die die Probleme mit Project Euler in Python lösen. Wenn Sie an einem Problem festhaken, ist es keine Schande, einen Einblick in die Arbeit anderer Entwickler zu haben, solange Sie davon lernen wollen. Hier sind zwei meiner Favoriten:

  • Dreamshire
  • Mycila

Aufgabe 6: Erstelle ein Spiel

Nur wenige Dinge sind zufriedenstellender als der Bau eines eigenen Spiels.

Nur wenige Dinge sind zufriedenstellender als der Bau eines eigenen Spiels. Es kann eine steile Lernkurve sein, aber es lohnt sich und ist sehr lohnend. PyGame ist die bekannteste Spielebibliothek für Python und Sie können viele kostenlose Tutorials dazu finden. Hier sind einige der besten PyGame-Tutorials. 

Offizielle PyGame-Dokumentation

Wie bei den ursprünglichen Python-Tutorials haben die Entwickler von PyGame auch eine eigene Intro-Dokumentation. Dies kann jedoch übermäßig technisch sein, wenn Sie direkt einsteigen und mit dem Aufbau Ihres Spiels beginnen möchten. Die Dokumentation für Entwickler ist jedoch immer die beste Informationsquelle. Ich empfehle Ihnen trotzdem, sich mit der Website vertraut zu machen.

Mit Python erfinden (mit PyGame)

Dieses kostenlose E-Book von Al Sweigart durchläuft die PyGame-Bibliothek und führt Sie vom Null-Wissen zum Aufbau einiger Spiele. Die einfachen Spiele bieten Ihnen eine perfekte Plattform, um Ihre eigenen Projekte zu starten, wenn Sie dazu neigen. Sweigart liefert in seinem gesamten Code ausführliche und ausführliche Kommentare, die Sie dabei unterstützen, während des Lernens zu lernen.

Lernprogramm zum Entwickeln von Computerspielen von TheNewBoston

Dies ist eine weitere Playlist von TheNewBoston. Es ist gut als Einleitung zu PyGame geeignet. Es setzt null Wissen voraus und gibt Ihnen ein gutes Gefühl für die PyGame-Bibliothek. Im Gegensatz zum InventWithPython-Handbuch ist dies jedoch eher sachlich und bringt Sie nicht dazu, Ihr eigenes Spiel zu erstellen.

Aufgabe 7: Lernen Sie einige gängige Bibliotheken und Werkzeuge kennen

Python ist eine Universalsprache, die fast alles kann. Natürlich gibt es da draußen scheinbar unendlich viele Bibliotheken und Werkzeuge. Hier sind einige der beliebtesten.

PyPy

Wenn Sie jemals ein HTML-Dokument nach Informationen durchsuchen möchten, wird dies alles von BeautifulSoup erledigt und Ihrem Leben Jahre hinzugefügt.

Wenn Sie CPU-intensiv arbeiten und feststellen, dass sich Python als Engpass erweist, benötigen Sie vielleicht PyPy. PyPy ist ein alternativer Compiler für Python, der die Verarbeitung erheblich beschleunigen kann.

NumPy + SciPy

Diese beiden gehen in der Regel Hand in Hand (SciPy ist abhängig von NumPy). Wenn Sie einige ernstzunehmende Zahlen für mathematische oder wissenschaftliche Forschung betreiben, werden diese beiden Bibliotheken Ihre besten Freunde sein. NumPy und SciPy erweitern die mathematischen Funktionen und Fähigkeiten von Python und können einige Ihrer Aufgaben erheblich beschleunigen.

BeautifulSoup

BeautifulSoup ist wirklich wunderschön. Wenn Sie eine HTML-Seite nach Informationen durchsuchen müssen, kennen Sie die Frustration und den Haarausfall nur zu gut. BeautifulSoup wird all dies für Sie tun und Ihrem Leben Jahre hinzufügen. Sehr empfehlenswert und macht Spaß damit.

Python-Bildbibliothek

Die Python Image Library (PIL) ist eine umfangreiche Bibliothek, die sich hervorragend für alles eignet, was mit Bildern zu tun hat. Wenn Sie ein Bild bearbeiten müssen, ist es wahrscheinlich, dass PIL dies für Sie tun kann.

Django

Wie bereits in diesem Artikel erwähnt, wird das Django-Framework wahrscheinlich verwendet, wenn Sie Web-Entwicklung zum Ziel haben. Es ist das am häufigsten verwendete Web-Framework für Python und verfügt auch über die meisten verfügbaren Lernressourcen.

Aufgabe 8: Beteiligen Sie sich an Open Source-Projekten

Nachdem Sie die Sprache gut verstanden haben, ist es immer eine wichtige Fähigkeit, den Code anderer Benutzer lesen und verstehen zu können - ganz zu schweigen davon, dass dies auch eine wirklich gute Möglichkeit zum Lernen ist.

Aus diesem Grund sind Open Source-Projekte großartig. Github oder Bitbucket sind die Zielorte dafür. Machen Sie sich keine Sorgen darüber, dass die Leute Ihren Code beurteilen, Sie müssen nicht sofort einen Beitrag leisten. Sie können jederzeit ein Projekt gründen, sich selbst daran basteln und sehen, wie die Dinge funktionieren. Wenn Sie etwas sehen, das Ihrer Meinung nach verbessert werden könnte, großartig! Machen Sie sich bereit und reichen Sie Ihre Verbesserung ein. Dafür gibt es Open Source.

  • Bit Bucket
  • Github
  • Git Essentials (Screencast-Kurs)

Fazit

Ich hoffe, ich konnte Ihnen eine solide Basis für Python-Wissen bieten. Wenn es andere interessante Orte gibt, von denen Sie glauben, dass sie in diesen Lehrplan aufgenommen werden sollten, lassen Sie es mich in den folgenden Kommentaren wissen, um anderen zu helfen!