Python: Unterschied zwischen den Versionen

Aus Dokument
Zur Navigation springen Zur Suche springen
imported>Import
Version 218
Keine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:


== Einleitung ==
== Einleitung ==
Dieser Lernpfad und Lernplan führt dich Schritt für Schritt durch die Python-Programmierung – von den Grundlagen bis hin zu fortgeschrittenen Themen. Python zeichnet sich durch seine klare Syntax und Vielseitigkeit aus und eignet sich ideal für Anfänger sowie für Profis in Bereichen wie Webentwicklung, Datenanalyse und Automatisierung.
Dieser Lernpfad und Lernplan führt dich Schritt für Schritt durch die Python-Programmierung – von den Grundlagen bis hin zu fortgeschrittenen Themen. Python zeichnet sich durch seine klare Syntax und Vielseitigkeit aus und eignet sich ideal für Anfänger sowie für Profis in Bereichen wie Webentwicklung, Datenanalyse und Automatisierung.


Zeile 9: Zeile 8:


=== Phase 1: Grundlagen der Programmierung ===
=== Phase 1: Grundlagen der Programmierung ===
* '''Variablen und Datentypen''': Ganzzahlen (int), Fließkommazahlen (float), Zeichenketten (str), Wahrheitswerte (bool).
* '''Variablen und Datentypen''': Ganzzahlen (int), Fließkommazahlen (float), Zeichenketten (str), Wahrheitswerte (bool).
* '''Operatoren''': Arithmetische, logische und Vergleichsoperatoren.
* '''Operatoren''': Arithmetische, logische und Vergleichsoperatoren.
Zeile 17: Zeile 15:


=== Phase 2: Datenstrukturen ===
=== Phase 2: Datenstrukturen ===
* '''Listen (Lists)''': Erstellen, Modifizieren, Listen-Methoden (append, pop), Slicing und List Comprehensions.
* '''Listen (Lists)''': Erstellen, Modifizieren, Listen-Methoden (append, pop), Slicing und List Comprehensions.
* '''Tupel (Tuples)''': Unveränderbare (immutable) Datenstrukturen.
* '''Tupel (Tuples)''': Unveränderbare (immutable) Datenstrukturen.
Zeile 24: Zeile 21:


=== Phase 3: Fortgeschrittene Kozepte ===
=== Phase 3: Fortgeschrittene Kozepte ===
* '''Fehlerbehandlung''': Ausnahmen abfangen (`try`, `except`, `finally`, `raise`).
* '''Fehlerbehandlung''': Ausnahmen abfangen (`try`, `except`, `finally`, `raise`).
* '''Datei-I/O''': Lesen und Schreiben von Dateien (`open`, `read`, `write`, `with`-Statement für Kontextmanager).
* '''Datei-I/O''': Lesen und Schreiben von Dateien (`open`, `read`, `write`, `with`-Statement für Kontextmanager).
* '''Module und Pakete''': Code strukturieren, Importieren (`import`, `from import `), Nutzung des Paketmanagers `pip`.
* '''Module und Pakete''': Code strukturieren, Importieren (`import`, `from ... import ...`), Nutzung des Paketmanagers `pip`.
* '''Virtuelle Umgebungen''': Isolation von Projektabhängigkeiten (`venv`).
* '''Virtuelle Umgebungen''': Isolation von Projektabhängigkeiten (`venv`).


=== Phase 4: Objektorientierte Programmierung (OOP) ===
=== Phase 4: Objektorientierte Programmierung (OOP) ===
* '''Klassen und Objekte''': Definition (`class`), Instanziierung.
* '''Klassen und Objekte''': Definition (`class`), Instanziierung.
* '''Attribute und Methoden''': Der Konstruktor `__init__`, Das Konzept von `self`.
* '''Attribute und Methoden''': Der Konstruktor `__init__`, Das Konzept von `self`.
Zeile 38: Zeile 33:


=== Phase 5: Praktische Anwendung und Bibliotheken ===
=== Phase 5: Praktische Anwendung und Bibliotheken ===
* '''Standardbibliothek''': Arbeiten mit Modulen wie `os`, `sys`, `datetime`, `math`, `json`, `re` (Reguläre Ausdrücke).
* '''Standardbibliothek''': Arbeiten mit Modulen wie `os`, `sys`, `datetime`, `math`, `json`, `re` (Reguläre Ausdrücke).
* '''Datenanalyse (optional)''': Einstieg in `pandas`, `numpy`, `matplotlib`.
* '''Datenanalyse (optional)''': Einstieg in `pandas`, `numpy`, `matplotlib`.
Zeile 54: Zeile 48:
** ''Projekt'': Ein interaktiver Taschenrechner in der Konsole.
** ''Projekt'': Ein interaktiver Taschenrechner in der Konsole.


<!-- -->
* '''Woche 2: Logik und Schleifen'''
* '''Woche 2: Logik und Schleifen'''
** Kontrollstrukturen (`if`/`else`) implementieren.
** Kontrollstrukturen (`if`/`else`) implementieren.
Zeile 60: Zeile 53:
** ''Projekt'': Ein Zahlenratespiel (Zufallszahl zwischen 1 und 100 erraten).
** ''Projekt'': Ein Zahlenratespiel (Zufallszahl zwischen 1 und 100 erraten).


<!-- -->
* '''Woche 3: Arbeiten mit Daten'''
* '''Woche 3: Arbeiten mit Daten'''
** Vertiefung von Listen und Dictionaries.
** Vertiefung von Listen und Dictionaries.
Zeile 66: Zeile 58:
** ''Projekt'': Eine einfache To-Do-Listen-Verwaltung für die Konsole.
** ''Projekt'': Eine einfache To-Do-Listen-Verwaltung für die Konsole.


<!-- -->
* '''Woche 4: Funktionen und Modularisierung'''
* '''Woche 4: Funktionen und Modularisierung'''
** Eigenen Code in funktionen auslagern und strukturieren.
** Eigenen Code in funktionen auslagern und strukturieren.
Zeile 72: Zeile 63:
** ''Projekt'': Modularisierung des bisherigen Codes in verschiedene Dateien/Module.
** ''Projekt'': Modularisierung des bisherigen Codes in verschiedene Dateien/Module.


<!-- -->
* '''Woche 5: Fehlerbehandlung und Persistenz'''
* '''Woche 5: Fehlerbehandlung und Persistenz'''
** Robuste Programme mit `try`/`except` schreiben.
** Robuste Programme mit `try`/`except` schreiben.
Zeile 78: Zeile 68:
** ''Projekt'': Die To-Do-Liste so erweitern, dass die Einträge beim Neustart des Programms erhalten bleiben (Speichern in einer JSON-Datei).
** ''Projekt'': Die To-Do-Liste so erweitern, dass die Einträge beim Neustart des Programms erhalten bleiben (Speichern in einer JSON-Datei).


<!-- -->
* '''Woche 6: Objektorientierung (OOP)'''
* '''Woche 6: Objektorientierung (OOP)'''
** OOP-Konzepte: Verstehen und anwenden von Klassen und Objekten.
** OOP-Konzepte: Verstehen und anwenden von Klassen und Objekten.
Zeile 84: Zeile 73:
** ''Projekt'': Ein textbasiertes Rollenspiel (z.B. Klassen für `Spieler` und `Monster`, die in einer Arena kämpfen).
** ''Projekt'': Ein textbasiertes Rollenspiel (z.B. Klassen für `Spieler` und `Monster`, die in einer Arena kämpfen).


<!-- -->
* '''Woche 7: Erweiterung und Drittanbieter-Bibliotheken'''
* '''Woche 7: Erweiterung und Drittanbieter-Bibliotheken'''
** Reguläre Ausdrücke (`re`) für Textsuche nutzen.
** Reguläre Ausdrücke (`re`) für Textsuche nutzen.
Zeile 91: Zeile 79:
** ''Projekt'': Ein Skript, das Wetterdaten einer öffentlichen API abruft und formatiert anzeigt.
** ''Projekt'': Ein Skript, das Wetterdaten einer öffentlichen API abruft und formatiert anzeigt.


<!-- -->
* '''Woche 8: Eigenes Abschlussprojekt'''
* '''Woche 8: Eigenes Abschlussprojekt'''
** Planung und Umsetzung eines individuellen Projekts (z.B. ein Web Scraper, ein lokaler Webserver oder ein Datenanalyse-Tool).
** Planung und Umsetzung eines individuellen Projekts (z.B. ein Web Scraper, ein lokaler Webserver oder ein Datenanalyse-Tool).
Zeile 98: Zeile 85:


== Empfohlene Lernressourcen ==
== Empfohlene Lernressourcen ==
* '''Offizielle Dokumentation''': [https://docs.python.org/3/ Python 3 Documentation]
* '''Offizielle Dokumentation''': [https://docs.python.org/3/ Python 3 Documentation]
* '''Tutorials &amp; Interaktives Lernen''':
* '''Tutorials & Interaktives Lernen''':
** [https://docs.python.org/3/tutorial/ Offizielles Python Tutorial]
** [https://docs.python.org/3/tutorial/ Offizielles Python Tutorial]
** freeCodeCamp (Scientific Computing with Python)
** freeCodeCamp (Scientific Computing with Python)
** Codecademy
** Codecademy
* '''Bücher''':
* '''Bücher''':
** “Python Crash Course” von Eric Matthes (Sehr praxisorientiert)
** "Python Crash Course" von Eric Matthes (Sehr praxisorientiert)
** “Automate the Boring Stuff with Python” von Al Sweigart (Fokus auf praktische Automatisierung)
** "Automate the Boring Stuff with Python" von Al Sweigart (Fokus auf praktische Automatisierung)
* '''Übungsplattformen (für Algorithmen)''':
* '''Übungsplattformen (für Algorithmen)''':
** LeetCode, HackerRank, Codewars
** LeetCode, HackerRank, Codewars


== Einleitung ==
== Einleitung ==
Dieser Lernpfad und Lernplan führt dich Schritt für Schritt durch die Python-Programmierung – von den Grundlagen bis hin zu fortgeschrittenen Themen. Python zeichnet sich durch seine klare Syntax und Vielseitigkeit aus und eignet sich ideal für Anfänger sowie für Profis in Bereichen wie Webentwicklung, Datenanalyse und Automatisierung.
Dieser Lernpfad und Lernplan führt dich Schritt für Schritt durch die Python-Programmierung – von den Grundlagen bis hin zu fortgeschrittenen Themen. Python zeichnet sich durch seine klare Syntax und Vielseitigkeit aus und eignet sich ideal für Anfänger sowie für Profis in Bereichen wie Webentwicklung, Datenanalyse und Automatisierung.


Zeile 117: Zeile 102:


=== Phase 1: Grundlagen der Programmierung ===
=== Phase 1: Grundlagen der Programmierung ===
* '''Variablen und Datentypen''': Ganzzahlen (int), Fließkommazahlen (float), Zeichenketten (str), Wahrheitswerte (bool).
* '''Variablen und Datentypen''': Ganzzahlen (int), Fließkommazahlen (float), Zeichenketten (str), Wahrheitswerte (bool).
* '''Operatoren''': Arithmetische, logische und Vergleichsoperatoren.
* '''Operatoren''': Arithmetische, logische und Vergleichsoperatoren.
Zeile 125: Zeile 109:


=== Phase 2: Datenstrukturen ===
=== Phase 2: Datenstrukturen ===
* '''Listen (Lists)''': Erstellen, Modifizieren, Listen-Methoden (append, pop), Slicing und List Comprehensions.
* '''Listen (Lists)''': Erstellen, Modifizieren, Listen-Methoden (append, pop), Slicing und List Comprehensions.
* '''Tupel (Tuples)''': Unveränderbare (immutable) Datenstrukturen.
* '''Tupel (Tuples)''': Unveränderbare (immutable) Datenstrukturen.
Zeile 132: Zeile 115:


=== Phase 3: Fortgeschrittene Kozepte ===
=== Phase 3: Fortgeschrittene Kozepte ===
* '''Fehlerbehandlung''': Ausnahmen abfangen (`try`, `except`, `finally`, `raise`).
* '''Fehlerbehandlung''': Ausnahmen abfangen (`try`, `except`, `finally`, `raise`).
* '''Datei-I/O''': Lesen und Schreiben von Dateien (`open`, `read`, `write`, `with`-Statement für Kontextmanager).
* '''Datei-I/O''': Lesen und Schreiben von Dateien (`open`, `read`, `write`, `with`-Statement für Kontextmanager).
* '''Module und Pakete''': Code strukturieren, Importieren (`import`, `from import `), Nutzung des Paketmanagers `pip`.
* '''Module und Pakete''': Code strukturieren, Importieren (`import`, `from ... import ...`), Nutzung des Paketmanagers `pip`.
* '''Virtuelle Umgebungen''': Isolation von Projektabhängigkeiten (`venv`).
* '''Virtuelle Umgebungen''': Isolation von Projektabhängigkeiten (`venv`).


=== Phase 4: Objektorientierte Programmierung (OOP) ===
=== Phase 4: Objektorientierte Programmierung (OOP) ===
* '''Klassen und Objekte''': Definition (`class`), Instanziierung.
* '''Klassen und Objekte''': Definition (`class`), Instanziierung.
* '''Attribute und Methoden''': Der Konstruktor `__init__`, Das Konzept von `self`.
* '''Attribute und Methoden''': Der Konstruktor `__init__`, Das Konzept von `self`.
Zeile 146: Zeile 127:


=== Phase 5: Praktische Anwendung und Bibliotheken ===
=== Phase 5: Praktische Anwendung und Bibliotheken ===
* '''Standardbibliothek''': Arbeiten mit Modulen wie `os`, `sys`, `datetime`, `math`, `json`, `re` (Reguläre Ausdrücke).
* '''Standardbibliothek''': Arbeiten mit Modulen wie `os`, `sys`, `datetime`, `math`, `json`, `re` (Reguläre Ausdrücke).
* '''Datenanalyse (optional)''': Einstieg in `pandas`, `numpy`, `matplotlib`.
* '''Datenanalyse (optional)''': Einstieg in `pandas`, `numpy`, `matplotlib`.
Zeile 162: Zeile 142:
** ''Projekt'': Ein interaktiver Taschenrechner in der Konsole.
** ''Projekt'': Ein interaktiver Taschenrechner in der Konsole.


<!-- -->
* '''Woche 2: Logik und Schleifen'''
* '''Woche 2: Logik und Schleifen'''
** Kontrollstrukturen (`if`/`else`) implementieren.
** Kontrollstrukturen (`if`/`else`) implementieren.
Zeile 168: Zeile 147:
** ''Projekt'': Ein Zahlenratespiel (Zufallszahl zwischen 1 und 100 erraten).
** ''Projekt'': Ein Zahlenratespiel (Zufallszahl zwischen 1 und 100 erraten).


<!-- -->
* '''Woche 3: Arbeiten mit Daten'''
* '''Woche 3: Arbeiten mit Daten'''
** Vertiefung von Listen und Dictionaries.
** Vertiefung von Listen und Dictionaries.
Zeile 174: Zeile 152:
** ''Projekt'': Eine einfache To-Do-Listen-Verwaltung für die Konsole.
** ''Projekt'': Eine einfache To-Do-Listen-Verwaltung für die Konsole.


<!-- -->
* '''Woche 4: Funktionen und Modularisierung'''
* '''Woche 4: Funktionen und Modularisierung'''
** Eigenen Code in funktionen auslagern und strukturieren.
** Eigenen Code in funktionen auslagern und strukturieren.
Zeile 180: Zeile 157:
** ''Projekt'': Modularisierung des bisherigen Codes in verschiedene Dateien/Module.
** ''Projekt'': Modularisierung des bisherigen Codes in verschiedene Dateien/Module.


<!-- -->
* '''Woche 5: Fehlerbehandlung und Persistenz'''
* '''Woche 5: Fehlerbehandlung und Persistenz'''
** Robuste Programme mit `try`/`except` schreiben.
** Robuste Programme mit `try`/`except` schreiben.
Zeile 186: Zeile 162:
** ''Projekt'': Die To-Do-Liste so erweitern, dass die Einträge beim Neustart des Programms erhalten bleiben (Speichern in einer JSON-Datei).
** ''Projekt'': Die To-Do-Liste so erweitern, dass die Einträge beim Neustart des Programms erhalten bleiben (Speichern in einer JSON-Datei).


<!-- -->
* '''Woche 6: Objektorientierung (OOP)'''
* '''Woche 6: Objektorientierung (OOP)'''
** OOP-Konzepte: Verstehen und anwenden von Klassen und Objekten.
** OOP-Konzepte: Verstehen und anwenden von Klassen und Objekten.
Zeile 192: Zeile 167:
** ''Projekt'': Ein textbasiertes Rollenspiel (z.B. Klassen für `Spieler` und `Monster`, die in einer Arena kämpfen).
** ''Projekt'': Ein textbasiertes Rollenspiel (z.B. Klassen für `Spieler` und `Monster`, die in einer Arena kämpfen).


<!-- -->
* '''Woche 7: Erweiterung und Drittanbieter-Bibliotheken'''
* '''Woche 7: Erweiterung und Drittanbieter-Bibliotheken'''
** Reguläre Ausdrücke (`re`) für Textsuche nutzen.
** Reguläre Ausdrücke (`re`) für Textsuche nutzen.
Zeile 199: Zeile 173:
** ''Projekt'': Ein Skript, das Wetterdaten einer öffentlichen API abruft und formatiert anzeigt.
** ''Projekt'': Ein Skript, das Wetterdaten einer öffentlichen API abruft und formatiert anzeigt.


<!-- -->
* '''Woche 8: Eigenes Abschlussprojekt'''
* '''Woche 8: Eigenes Abschlussprojekt'''
** Planung und Umsetzung eines individuellen Projekts (z.B. ein Web Scraper, ein lokaler Webserver oder ein Datenanalyse-Tool).
** Planung und Umsetzung eines individuellen Projekts (z.B. ein Web Scraper, ein lokaler Webserver oder ein Datenanalyse-Tool).
Zeile 206: Zeile 179:


== Empfohlene Lernressourcen ==
== Empfohlene Lernressourcen ==
* '''Offizielle Dokumentation''': [https://docs.python.org/3/ Python 3 Documentation]
* '''Offizielle Dokumentation''': [https://docs.python.org/3/ Python 3 Documentation]
* '''Tutorials &amp; Interaktives Lernen''':
* '''Tutorials & Interaktives Lernen''':
** [https://docs.python.org/3/tutorial/ Offizielles Python Tutorial]
** [https://docs.python.org/3/tutorial/ Offizielles Python Tutorial]
** freeCodeCamp (Scientific Computing with Python)
** freeCodeCamp (Scientific Computing with Python)
** Codecademy
** Codecademy
* '''Bücher''':
* '''Bücher''':
** “Python Crash Course” von Eric Matthes (Sehr praxisorientiert)
** "Python Crash Course" von Eric Matthes (Sehr praxisorientiert)
** “Automate the Boring Stuff with Python” von Al Sweigart (Fokus auf praktische Automatisierung)
** "Automate the Boring Stuff with Python" von Al Sweigart (Fokus auf praktische Automatisierung)
* '''Übungsplattformen (für Algorithmen)''':
* '''Übungsplattformen (für Algorithmen)''':
** LeetCode, HackerRank, Codewars
** LeetCode, HackerRank, Codewars

Version vom 3. März 2026, 18:58 Uhr

Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).


Einleitung

Dieser Lernpfad und Lernplan führt dich Schritt für Schritt durch die Python-Programmierung – von den Grundlagen bis hin zu fortgeschrittenen Themen. Python zeichnet sich durch seine klare Syntax und Vielseitigkeit aus und eignet sich ideal für Anfänger sowie für Profis in Bereichen wie Webentwicklung, Datenanalyse und Automatisierung.

Lernpfad

Phase 1: Grundlagen der Programmierung

  • Variablen und Datentypen: Ganzzahlen (int), Fließkommazahlen (float), Zeichenketten (str), Wahrheitswerte (bool).
  • Operatoren: Arithmetische, logische und Vergleichsoperatoren.
  • Kontrollstrukturen: Bedingungen (`if`, `elif`, `else`).
  • Schleifen: Iterationen mit `for`- und `while`-Schleifen.
  • Funktionen: Definition von Funktionen (`def`), Parameter, Rückgabewerte und lokaler Skopus.

Phase 2: Datenstrukturen

  • Listen (Lists): Erstellen, Modifizieren, Listen-Methoden (append, pop), Slicing und List Comprehensions.
  • Tupel (Tuples): Unveränderbare (immutable) Datenstrukturen.
  • Dictionaries: Speicherung von Schlüssel-Wert-Paaren, schnelles Nachschlagen, Iteration über Keys und Values.
  • Mengen (Sets): Einzigartige Elemente, Mengenoperationen (Schnittmenge, Vereinigung).

Phase 3: Fortgeschrittene Kozepte

  • Fehlerbehandlung: Ausnahmen abfangen (`try`, `except`, `finally`, `raise`).
  • Datei-I/O: Lesen und Schreiben von Dateien (`open`, `read`, `write`, `with`-Statement für Kontextmanager).
  • Module und Pakete: Code strukturieren, Importieren (`import`, `from ... import ...`), Nutzung des Paketmanagers `pip`.
  • Virtuelle Umgebungen: Isolation von Projektabhängigkeiten (`venv`).

Phase 4: Objektorientierte Programmierung (OOP)

  • Klassen und Objekte: Definition (`class`), Instanziierung.
  • Attribute und Methoden: Der Konstruktor `__init__`, Das Konzept von `self`.
  • Vererbung und Polymorphie: Wiederverwendung von Code, Überschreiben von Methoden der Elternklasse.
  • Spezialmethoden: Magic/Dunder-Methods (z.B. `__str__`, `__repr__`).

Phase 5: Praktische Anwendung und Bibliotheken

  • Standardbibliothek: Arbeiten mit Modulen wie `os`, `sys`, `datetime`, `math`, `json`, `re` (Reguläre Ausdrücke).
  • Datenanalyse (optional): Einstieg in `pandas`, `numpy`, `matplotlib`.
  • Webentwicklung (optional): Grundlagen von `Flask` oder `FastAPI`.
  • Automatisierung: Skripte für alltägliche Aufgaben, Web Scraping mit `requests` und `BeautifulSoup`.

Lernplan (Beispiel für 8 Wochen)

Dieser strukturierte 8-Wochen-Plan setzt einen Zeitaufwand von ca. 5-10 Stunden pro Woche voraus.

  • Woche 1: Einstieg und Code-Erstellung
    • Installation von Python und Einrichtung einer IDE (z.B. VS Code oder PyCharm).
    • Kennenlernen des interaktiven Interpreters (REPL).
    • Variablen, Datentypen und einfache Ein-/Ausgabe (`print`, `input`).
    • Projekt: Ein interaktiver Taschenrechner in der Konsole.
  • Woche 2: Logik und Schleifen
    • Kontrollstrukturen (`if`/`else`) implementieren.
    • `for`- und `while`-Schleifen verstehen und anwenden.
    • Projekt: Ein Zahlenratespiel (Zufallszahl zwischen 1 und 100 erraten).
  • Woche 3: Arbeiten mit Daten
    • Vertiefung von Listen und Dictionaries.
    • Kennenlernen von String-Manipulation und Formatierung (z.B. f-Strings).
    • Projekt: Eine einfache To-Do-Listen-Verwaltung für die Konsole.
  • Woche 4: Funktionen und Modularisierung
    • Eigenen Code in funktionen auslagern und strukturieren.
    • Parameter und Rückgabewerte meistern.
    • Projekt: Modularisierung des bisherigen Codes in verschiedene Dateien/Module.
  • Woche 5: Fehlerbehandlung und Persistenz
    • Robuste Programme mit `try`/`except` schreiben.
    • Daten dauerhaft speichern (Textdateien oder JSON).
    • Projekt: Die To-Do-Liste so erweitern, dass die Einträge beim Neustart des Programms erhalten bleiben (Speichern in einer JSON-Datei).
  • Woche 6: Objektorientierung (OOP)
    • OOP-Konzepte: Verstehen und anwenden von Klassen und Objekten.
    • Attribute und Methoden definieren.
    • Projekt: Ein textbasiertes Rollenspiel (z.B. Klassen für `Spieler` und `Monster`, die in einer Arena kämpfen).
  • Woche 7: Erweiterung und Drittanbieter-Bibliotheken
    • Reguläre Ausdrücke (`re`) für Textsuche nutzen.
    • Virtuelle Umgebung (`venv`) einrichten und Pakete über `pip` installieren.
    • Erste Schritte mit APIs (z.B. über das `requests`-Modul).
    • Projekt: Ein Skript, das Wetterdaten einer öffentlichen API abruft und formatiert anzeigt.
  • Woche 8: Eigenes Abschlussprojekt
    • Planung und Umsetzung eines individuellen Projekts (z.B. ein Web Scraper, ein lokaler Webserver oder ein Datenanalyse-Tool).
    • Code-Refactoring: Den geschriebenen Code lesbarer und effizienter machen (PEP 8 Richtlinien beachten).
    • Ausblick: Den nächsten Themenfokus wählen (z.B. Webentwicklung, Machine Learning, Data Science).

Empfohlene Lernressourcen

  • Offizielle Dokumentation: Python 3 Documentation
  • Tutorials & Interaktives Lernen:
  • Bücher:
    • "Python Crash Course" von Eric Matthes (Sehr praxisorientiert)
    • "Automate the Boring Stuff with Python" von Al Sweigart (Fokus auf praktische Automatisierung)
  • Übungsplattformen (für Algorithmen):
    • LeetCode, HackerRank, Codewars

Einleitung

Dieser Lernpfad und Lernplan führt dich Schritt für Schritt durch die Python-Programmierung – von den Grundlagen bis hin zu fortgeschrittenen Themen. Python zeichnet sich durch seine klare Syntax und Vielseitigkeit aus und eignet sich ideal für Anfänger sowie für Profis in Bereichen wie Webentwicklung, Datenanalyse und Automatisierung.

Lernpfad

Phase 1: Grundlagen der Programmierung

  • Variablen und Datentypen: Ganzzahlen (int), Fließkommazahlen (float), Zeichenketten (str), Wahrheitswerte (bool).
  • Operatoren: Arithmetische, logische und Vergleichsoperatoren.
  • Kontrollstrukturen: Bedingungen (`if`, `elif`, `else`).
  • Schleifen: Iterationen mit `for`- und `while`-Schleifen.
  • Funktionen: Definition von Funktionen (`def`), Parameter, Rückgabewerte und lokaler Skopus.

Phase 2: Datenstrukturen

  • Listen (Lists): Erstellen, Modifizieren, Listen-Methoden (append, pop), Slicing und List Comprehensions.
  • Tupel (Tuples): Unveränderbare (immutable) Datenstrukturen.
  • Dictionaries: Speicherung von Schlüssel-Wert-Paaren, schnelles Nachschlagen, Iteration über Keys und Values.
  • Mengen (Sets): Einzigartige Elemente, Mengenoperationen (Schnittmenge, Vereinigung).

Phase 3: Fortgeschrittene Kozepte

  • Fehlerbehandlung: Ausnahmen abfangen (`try`, `except`, `finally`, `raise`).
  • Datei-I/O: Lesen und Schreiben von Dateien (`open`, `read`, `write`, `with`-Statement für Kontextmanager).
  • Module und Pakete: Code strukturieren, Importieren (`import`, `from ... import ...`), Nutzung des Paketmanagers `pip`.
  • Virtuelle Umgebungen: Isolation von Projektabhängigkeiten (`venv`).

Phase 4: Objektorientierte Programmierung (OOP)

  • Klassen und Objekte: Definition (`class`), Instanziierung.
  • Attribute und Methoden: Der Konstruktor `__init__`, Das Konzept von `self`.
  • Vererbung und Polymorphie: Wiederverwendung von Code, Überschreiben von Methoden der Elternklasse.
  • Spezialmethoden: Magic/Dunder-Methods (z.B. `__str__`, `__repr__`).

Phase 5: Praktische Anwendung und Bibliotheken

  • Standardbibliothek: Arbeiten mit Modulen wie `os`, `sys`, `datetime`, `math`, `json`, `re` (Reguläre Ausdrücke).
  • Datenanalyse (optional): Einstieg in `pandas`, `numpy`, `matplotlib`.
  • Webentwicklung (optional): Grundlagen von `Flask` oder `FastAPI`.
  • Automatisierung: Skripte für alltägliche Aufgaben, Web Scraping mit `requests` und `BeautifulSoup`.

Lernplan (Beispiel für 8 Wochen)

Dieser strukturierte 8-Wochen-Plan setzt einen Zeitaufwand von ca. 5-10 Stunden pro Woche voraus.

  • Woche 1: Einstieg und Code-Erstellung
    • Installation von Python und Einrichtung einer IDE (z.B. VS Code oder PyCharm).
    • Kennenlernen des interaktiven Interpreters (REPL).
    • Variablen, Datentypen und einfache Ein-/Ausgabe (`print`, `input`).
    • Projekt: Ein interaktiver Taschenrechner in der Konsole.
  • Woche 2: Logik und Schleifen
    • Kontrollstrukturen (`if`/`else`) implementieren.
    • `for`- und `while`-Schleifen verstehen und anwenden.
    • Projekt: Ein Zahlenratespiel (Zufallszahl zwischen 1 und 100 erraten).
  • Woche 3: Arbeiten mit Daten
    • Vertiefung von Listen und Dictionaries.
    • Kennenlernen von String-Manipulation und Formatierung (z.B. f-Strings).
    • Projekt: Eine einfache To-Do-Listen-Verwaltung für die Konsole.
  • Woche 4: Funktionen und Modularisierung
    • Eigenen Code in funktionen auslagern und strukturieren.
    • Parameter und Rückgabewerte meistern.
    • Projekt: Modularisierung des bisherigen Codes in verschiedene Dateien/Module.
  • Woche 5: Fehlerbehandlung und Persistenz
    • Robuste Programme mit `try`/`except` schreiben.
    • Daten dauerhaft speichern (Textdateien oder JSON).
    • Projekt: Die To-Do-Liste so erweitern, dass die Einträge beim Neustart des Programms erhalten bleiben (Speichern in einer JSON-Datei).
  • Woche 6: Objektorientierung (OOP)
    • OOP-Konzepte: Verstehen und anwenden von Klassen und Objekten.
    • Attribute und Methoden definieren.
    • Projekt: Ein textbasiertes Rollenspiel (z.B. Klassen für `Spieler` und `Monster`, die in einer Arena kämpfen).
  • Woche 7: Erweiterung und Drittanbieter-Bibliotheken
    • Reguläre Ausdrücke (`re`) für Textsuche nutzen.
    • Virtuelle Umgebung (`venv`) einrichten und Pakete über `pip` installieren.
    • Erste Schritte mit APIs (z.B. über das `requests`-Modul).
    • Projekt: Ein Skript, das Wetterdaten einer öffentlichen API abruft und formatiert anzeigt.
  • Woche 8: Eigenes Abschlussprojekt
    • Planung und Umsetzung eines individuellen Projekts (z.B. ein Web Scraper, ein lokaler Webserver oder ein Datenanalyse-Tool).
    • Code-Refactoring: Den geschriebenen Code lesbarer und effizienter machen (PEP 8 Richtlinien beachten).
    • Ausblick: Den nächsten Themenfokus wählen (z.B. Webentwicklung, Machine Learning, Data Science).

Empfohlene Lernressourcen

  • Offizielle Dokumentation: Python 3 Documentation
  • Tutorials & Interaktives Lernen:
  • Bücher:
    • "Python Crash Course" von Eric Matthes (Sehr praxisorientiert)
    • "Automate the Boring Stuff with Python" von Al Sweigart (Fokus auf praktische Automatisierung)
  • Übungsplattformen (für Algorithmen):
    • LeetCode, HackerRank, Codewars

Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).