Python für Fortgeschrittene

✨ Niveau
🕗 Dauer
💻 Übungen
Fortgeschritten
6-8 Monate
300+ Programmierübungen
Willkommen zu unserem Kurs für fortgeschrittenes Python! In diesem Kurs wirst du viele der fortgeschrittenen Funktionen der Sprache kennenlernen und Best Practices für deren Verwendung erlernen. Dieser Kurs ist für alle gedacht, die bereits Erfahrung mit Python haben und ihr Wissen vertiefen sowie fortgeschrittene Themen erforschen möchten.
notion image
Am Ende dieses Kurses wirst du wissen, wie man Klassen verwendet und dich sicher in der Vererbung bewegen können. Wir behandeln Best Practices für das Schreiben von Code in größeren Projekten und nutzen Typing, das hilft, den Code statisch zu analysieren, um Fehler zu erkennen. Du wirst mit Decorators arbeiten und eigene nützliche Decorators erstellen, die die Größe deines Codes erheblich reduzieren. Wir diskutieren Iterators und Iterables sowie die Standardbibliothek itertools. Mit glob und pathlib arbeiten wir am Dateisystem. Am wichtigsten ist, dass wir lernen, wie man async / await verwendet, um unseren Code zu optimieren, wenn wir mit großen Ein-/Ausgabevorgängen, Datenbanken und Netzwerk-Anfragen arbeiten.

💻 Lernen durch Tun

In diesem Kurs lernst du durch praktisches Tun! Jede Lektion beinhaltet mehrere interaktive Herausforderungen, die du lösen musst, um zur nächsten zu gelangen. Wir glauben, dass praktisches Lernen der beste Weg ist, um tiefgehendes Wissen zu erlangen. Hier wirst du viele herausfordernde und gleichzeitig interessante Übungen finden, um jedes behandelte Konzept zu üben.
Du kannst in deinem eigenen Tempo lernen. Du kannst Vollgas geben und mehrere Level in einer Woche abschließen oder es langsam angehen lassen und dich länger auf jedes Konzept konzentrieren.
Es gibt ein Forum, um Fragen zu stellen und Hilfe zu bekommen. Du kannst unter jeder Herausforderung Fragen stellen oder die Fragen anderer beantworten.

🎓 Lehrplan

Dieser Kurs konzentriert sich auf die Kernkonzepte und einige fortgeschrittene Funktionen von Python und führt jedes davon auf intuitive Weise ein. Um den Lernprozess unterhaltsamer und ansprechender zu gestalten, sind die Konzepte in Leveln organisiert, und das Bestehen jedes Levels bedeutet, dass du ein neues Konzept gemeistert hast. Hier sind die Hauptthemen, die wir abdecken werden:
Erweiterte Funktionen
  • Positionsargumente und Schlüsselwortargumente
  • Rekursion
  • Call by Value vs. Call by Reference (veränderbare Argumente)
Reguläre Ausdrücke
  • Grundlagen und Anwendungen von regulären Ausdrücken
  • Suchen und Abgleichen
Klassen
  • Klassen definieren
  • Attribute setzen und darauf zugreifen
  • Der __init__-Konstruktor
  • Methoden innerhalb von Klassen definieren
  • Magische Methoden
  • Öffentliche und private Variablen
Vererbung
  • Von einer Basisklasse erben
  • Funktionalität durch Überschreiben einer Methode ändern
  • Funktionalität mithilfe von super() erweitern
  • Von mehreren Basisklassen erben
Kapselung
  • Private Variablen
  • Geschützte Variablen
  • Wie Python tatsächlich private und geschützte Variablen handhabt
Ausnahmen
  • raise und except
  • Ausnahmehierarchie
  • Eigene Ausnahmen erstellen
Module
  • Arbeiten mit Bibliotheken
  • Module im Dateisystem
  • Modulinitialisierung
  • Importieren von Variablen, Funktionen und Klassen
Dateisystem
  • glob zur Arbeit mit Dateisammlungen
  • pathlib für spezifische Dateien
  • Dateien entfernen
  • Rekursives Erstellen/Löschen ganzer Verzeichnisse
Erweiterte Klassen
  • Klassenvariablen vs. Instanzvariablen
  • Eingebaute Decorators (@dataclass, @property, @staticmethod etc.)
  • Abstrakte Klassen (ABC-Modul)
Decorators
  • Decorators für Funktionen
  • Decorators für Klassen
  • Eigene Decorators erstellen
Typing
  • Typing für eingebaute Typen (int, list, dict etc.)
  • Typing für eigene Klassen
  • Typing innerhalb einer Klasse
  • Statische Analyse – was können wir erreichen und was sind die Grenzen
Iterators und Iterables
  • Iterators
  • Generators
  • Iterables
  • itertoolscycle(), repeat(), chain() etc.
  • Eigenen Generator erstellen
  • Eigenes Iterable erstellen
Kontextmanager
  • Eigenen Kontextmanager implementieren
  • Verwendung der with-Syntax
  • Kontextmanager als Decorators
Multithreading und Multiprocessing
  • Das threading-Paket
  • Eigene Thread-Klasse erstellen
  • Das multiprocessing-Paket
  • Verarbeitung in Pools
  • Datenaustausch zwischen Threads und Prozessen
asyncio
  • async- und await-Syntax für Funktionen
  • Arbeiten mit Dateien
  • Arbeiten mit Netzwerk-Anfragen
  • Abfragen über SQLAlchemy
  • asyncio vs. Threads und Prozesse
Zusammenfassung und Projekte
  • Mehrere betreute Projekte fassen das gesamte Material zusammen.
  • Dies beinhaltet viel Googeln und Selbststudium.
  • Du automatisierst einige Aufgaben und lernst nützliche Bibliotheken kennen.

🚀 Willkommen

Lernen ist zu 80% individuelle Arbeit! Das Abschließen dieses Kurses wird dein Verdienst sein, und wir sind hier, um dich auf diesem Weg zu unterstützen. Du kannst den Abschnitt am Ende jeder Übung nutzen, um Fragen zu stellen oder anderen zu helfen.