Python in einem Monat

Leitfaden für absolute Anfänger.
(Anmerkung des Übersetzers: Dies sind Tipps vom indischen Autor, aber sie scheinen hilfreich zu sein. Ergänzen Sie in den Kommentaren.)

Python in einem Monat

Ein Monat ist viel Zeit. Wenn Sie jeden Tag 6-7 Stunden für das Lernen aufwenden, können Sie eine Menge erreichen.

Ziel für den Monat:

  • Vertrautmachen mit den grundlegenden Konzepten (Variable, Bedingung, Liste, Schleife, Funktion)
  • Mehr als 30 Programmierprobleme praktisch lösen
  • Zwei Projekte erstellen, um das neue Wissen anzuwenden
  • Sich mit mindestens zwei Frameworks vertraut machen
  • Anfangen, mit einer IDE (Entwicklungsumgebung), Github, Hosting, Dienstleistungen usw. zu arbeiten.

So werden Sie ein Junior Python-Entwickler.

Jetzt der Wochenplan.

Python in einem Monat

Der Artikel wurde mit Unterstützung von EDISON Software übersetzt, einem Unternehmen, das gibt wertvolle Tipps für Junioren, sowie stellt Softwaredesign und das Schreiben von Pflichtenheften in Russisch und Englisch bereit.

Erste Woche: Machen Sie sich mit Python vertraut

Verstehen, wie alles in Python funktioniert. Überprüfen Sie so viele Dinge wie möglich.

  • Tag 1: 4 grundlegende Konzepte (4 Stunden): Eingabe, Ausgabe, Variable, Bedingungen
  • Tag 2: 4 grundlegende Konzepte (5 Stunden): Liste, for-Schleife, while-Schleife, Funktion, Module importieren
  • Tag 3: Einfache Programmierprobleme (5 Stunden): zwei Variablen vertauschen, Celsius in Fahrenheit umrechnen, die Summe aller Ziffern einer Zahl berechnen, eine Zahl auf Primzahl prüfen, eine Zufallszahl generieren, Duplikate aus einer Liste entfernen
  • Tag 4: Mittelschwere Programmierprobleme (6 Stunden): String umdrehen (auf Palindrome prüfen), größten gemeinsamen Teiler berechnen, zwei sortierte Arrays zusammenführen, ein Zahlenspiel schreiben, Alter berechnen usw.
  • Tag 5: Datenstrukturen (6 Stunden): Stack, Queue, Wörterbuch, Tupel, verkettete Liste
  • Tag 6: OOP - Objektorientierte Programmierung (6 Stunden): Objekt, Klasse, Methode und Konstruktor, OOP-Vererbung
  • Tag 7: Algorithmus (6 Stunden): Suche (linear und binär), Sortierung (Bubblesort, Auswahl), rekursive Funktion (Fakultät, Fibonacci-Folge), Zeitkomplexität von Algorithmen (linear, quadratisch, konstant)

Installieren Sie Python nicht:

Ich verstehe, es klingt widersprüchlich. Aber glauben Sie mir. Ich kenne viele Leute, die jegliches Interesse am Lernen verloren haben, nachdem sie die Entwicklungsumgebung oder Software nicht installieren konnten. Ich empfehle, direkt in eine Android-App wie Programming Hero oder auf die Website Repl einzusteigen und die Sprache zu erkunden. Setzen Sie sich nicht als erstes Ziel, Python zu installieren, wenn Sie nicht besonders technisch versiert sind.

Zweite Woche: Beginnen Sie mit der Softwareentwicklung (Bauen Sie ein Projekt)

Gewinnen Sie Erfahrung in der Softwareentwicklung. Versuchen Sie, alles, was Sie gelernt haben, zu verwenden, um ein echtes Projekt zu erstellen.

  • Tag 1: Machen Sie sich mit der Entwicklungsumgebung vertraut (5 Stunden): Eine Entwicklungsumgebung ist ein interaktives Umfeld, in dem Sie Code für große Projekte schreiben. Sie sollten sich mit mindestens einer Entwicklungsumgebung gut auskennen. Ich empfehle, mit VS Code Python-Erweiterung zu installieren oder Jupyter Notebook anzufangen.
  • Tag 2: Github (6 Stunden): Lernen Sie damit umzugehen, erstellen Sie ein Repository. Versuchen Sie, Code zu committen, hochzuladen und die Unterschiede zwischen zwei beliebigen Git-Bäumen zu berechnen. Machen Sie sich auch mit Branching, Merging und Pull Requests vertraut. GithubTag 3: Erstes Projekt: Einfacher Taschenrechner (4 Stunden)
  • : Machen Sie sich mit Tkinter vertraut.Erstellen Sie einen einfachen Taschenrechner Tag 4, 5, 6: Persönliches Projekt (5 Stunden pro Tag).
  • : Wählen Sie ein Projekt aus und beginnen Sie, daran zu arbeiten. Wenn Sie keine Ideen für ein Projekt haben, schauen Sie sich diese Liste an:einige gute Projekte in Python Tag 7: Hosting (5 Stunden)
  • : Verstehen Sie den Server und das Hosting, umIhr Projekt zu hosten. Richten Sie Heroku ein und deployen Sie Ihr Anwendungs-Build.Warum ein Projekt:

Durch blindes Befolgen von Schritten in einem Tutorial oder Video werden Sie nicht in der Lage sein, zu denken. Sie müssen Ihr Wissen in einem Projekt anwenden. Sobald Sie all Ihre Kräfte auf die Suche nach der Antwort verwendet haben, werden Sie sie sich merken.

Dritte Woche: Werden Sie ein Programmierer

Ihr Ziel in der dritten Woche ist es, ein allgemeines Verständnis für den Softwareentwicklungsprozess zu bekommen. Sie müssen Ihre Fähigkeiten nicht verfeinern. Aber Sie sollten einige Grundlagen kennen, da sie Ihre tägliche Arbeit beeinflussen.

Tag 1: Grundlagen der Datenbanken (6 Stunden)

  • : Basis SQL-Abfrage (Create Table, Select, Where, Update), SQL-Funktionen (Avg, Max, Count), relationale Datenbank (Normalisierung), Innere Joins, Äußere Joins usw.Tag 2: Verwenden Sie Datenbanken in Python (5 Stunden)
  • : Verwenden Sie ein Datenbank-Framework (SQLite oder Pandas), verbinden Sie sich mit der Datenbank, erstellen und fügen Sie Daten zu mehreren Tabellen hinzu, lesen Sie Daten aus den Tabellen.Tag 3: API (5 Stunden)
  • : Lernen Sie, APIs aufzurufen, lernen Sie JSON, Mikrodienste, REST-APIs.Tag 4: Numpy (4 Stunden)
  • Machen Sie sich mit Numpy vertraut: und üben Sie seine Verwendung an den ersten 30 Übungen. die ersten 30 Übungen
  • Tag 5, 6: Portfolio-Website (5 Stunden pro Tag): Lernen Sie Django, erstellen Sie ein Portfolio auf Django, schauen Sie sich auch das Framework Flask an
  • Tag 7: Unit-Tests, Logs, Debugging (4 Stunden): Verstehen Sie Unit-Tests (PyTest), lernen Sie, mit Logs zu arbeiten und diese zu überprüfen, und verwenden Sie Breakpoints

Echte Zeitskala (Geheimnis):

Wenn Sie sich für dieses Thema begeistern und sich voll darauf konzentrieren, können Sie alles in einem Monat schaffen.

  • Lernen Sie Python regelmäßig. Beginnen Sie um 8 Uhr und lernen Sie bis 17 Uhr. Machen Sie eine Mittagspause und Snacks (insgesamt eine Stunde)
  • Um 8 Uhr erstellen Sie eine Liste von Dingen, die Sie heute lernen werden. Nehmen Sie sich danach eine Stunde Zeit, um alles, was Sie gestern gelernt haben, zu wiederholen und praktisch auszuprobieren.
  • Von 9 Uhr bis 12 Uhr lernen und üben Sie weniger. Nach dem Mittagessen legen Sie los. Wenn Sie bei einem Problem stecken bleiben, suchen Sie online nach einer Lösung.
  • Verbringen Sie jeden Tag 4-5 Stunden mit Lernen und 2-3 Stunden mit praktischen Übungen. (Maximal können Sie sich einen freien Tag pro Woche gönnen)
  • Ihre Freunde werden denken, dass Sie verrückt sind. Lassen Sie sie nicht enttäuscht zurück – entsprechen Sie dem Bild.

Wenn Sie vollzeit arbeiten oder an einer Universität studieren, benötigen Sie mehr Zeit. Als Student benötigte ich 8 Monate, um alles auf der Liste zu erledigen. Jetzt arbeite ich als Senior Developer. Meine Frau, die bei der Zentralbank der USA arbeitet, brauchte ein halbes Jahr, um alle Aufgaben auf der Liste abzuschließen. Es spielt keine Rolle, wie viel Zeit es braucht. Schließen Sie die Liste ab.

Vierte Woche: Nehmen Sie die Jobsuche ernst (Praktikum)

Ihr Ziel der vierten Woche ist es, ernsthaft über die Jobsuche nachzudenken. Selbst wenn Sie jetzt nicht arbeiten möchten, lernen Sie im Prozess der Vorstellungsgespräche viel.

  • Tag 1: Lebenslauf (5 Stunden): Erstellen Sie einen einseitigen Lebenslauf. Fügen Sie am oberen Ende des Lebenslaufs eine kurze Übersicht über Ihre Fähigkeiten hinzu. Vergessen Sie nicht, eine Liste Ihrer Projekte mit Links zu Github anzufügen.
  • Tag 2: Portfolio-Website (6 Stunden): Schreiben Sie einige Blogs. Fügen Sie diese in das vorherige Portfolio ein, das Sie erstellt haben.
  • Tag 3: LinkedIn-Profil (4 Stunden): Erstellen Sie ein LinkedIn-Profil. Übertragen Sie alle Informationen aus Ihrem Lebenslauf in LinkedIn.
  • Tag 4: Vorbereitung auf Vorstellungsgespräche (7 Stunden): Suchen Sie die am häufigsten gestellten Fragen in Vorstellungsgesprächen. Üben Sie, 10 Programmierprobleme zu lösen, die bei Vorstellungsgesprächen gefragt werden. Machen Sie dies auf Papier. Die Fragen aus Vorstellungsgesprächen finden Sie auf Websites wie Glassdoor, Careercup.
  • Tag 5: Networking (~ Stunden): Kommen Sie aus dem Keller. Beginnen Sie, Meetups und Jobmessen zu besuchen. Lernen Sie Recruiter und andere Entwickler kennen.
  • Tag 6: Bewerben Sie sich einfach auf Stellen (~ Stunden): Suchen Sie "Python-Job", schauen Sie sich an, welche Stellenangebote auf LinkedIn und lokalen Jobseiten verfügbar sind. Wählen Sie 3 Stellenangebote aus, auf die Sie sich bewerben möchten. Passen Sie Ihren Lebenslauf für jedes davon an. Finden Sie 2-3 Punkte in den Anforderungen, die Sie nicht kannten. Verbringen Sie die nächsten 3-4 Tage damit, sich damit vertraut zu machen.
  • Tag 7: Lernen Sie aus Ablehnungen (~ Stunden): Jedes Mal, wenn Sie eine Absage erhalten, definieren Sie zwei Dinge, die Sie wissen müssen, um die Stelle zu bekommen. Verbringen Sie dann 4-5 Tage damit, Ihre Fähigkeiten in diesen Bereichen zu verbessern. So werden Sie nach jeder Absage besser als Entwickler.

Bereitschaft für den Job:

Die Wahrheit ist, dass Sie niemals zu 100% bereit sein werden. Alles, was Sie brauchen, ist, 1-2 Dinge sehr gut zu lernen. Und sich mit anderen Themen vertraut zu machen, um die Hürde der Vorstellungsgespräche zu überwinden. Sobald Sie einen Job haben, lernen Sie viel dabei.

Genießen Sie den Prozess:

Lernen ist ein Prozess. Auf Ihrem Weg werden definitiv Schwierigkeiten auftreten. Je mehr es gibt, desto besser werden Sie als Entwickler.

Wenn Sie die Liste in 28 Tagen abschließen können, sind Sie großartig. Aber selbst wenn Sie 60-70% der Liste abschließen, werden Sie die notwendigen Qualitäten und Fähigkeiten entwickeln. Diese werden Ihnen helfen, ein Programmierer zu werden.

Wo man lernen kann:

Wenn Sie noch nicht wissen, wo Sie anfangen sollen,

Ich wünsche Ihnen eine aufregende Reise. Die Zukunft liegt in Ihren Händen.

Übersetzung: Diana Sheremyeva

Quelle: habr.com

Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster