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.
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
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
itertools – cycle(), 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.