1. Unterrichtsblock

Python kennenlernen: Grundlagen und Syntax
Python ist eine gut lesbare und vielseitige Programmiersprache. Guido van Rossum veröffentlichte Python im Jahr 1991. In diesem Kurs schreiben wir Python-3-Programme, führen sie direkt aus und entwickeln Schritt für Schritt eigene Anwendungen.
Python kann unter Windows, macOS, Linux und auf Plattformen wie dem Raspberry Pi eingesetzt werden. Die Sprache wird wegen ihrer lesbaren Syntax, der großen Community und der vielen Bibliotheken verwendet.
| Eigenschaft | Bedeutung für die Entwicklung |
|---|---|
| gut lesbare Syntax | Code kann leichter gelesen und erklärt werden |
| viele Bibliotheken | fertige Funktionen können gezielt eingebunden werden |
| plattformübergreifend | Programme können auf verschiedenen Betriebssystemen laufen |
| schnelle Entwicklung | Ideen können mit wenig Grundcode ausprobiert werden |
| mehrere Paradigmen | Python unterstützt prozedurale, objektorientierte und funktionale Ansätze |
Wo wird Python eingesetzt?
| Einsatzfeld | Wofür Python dort genutzt wird |
|---|---|
| Webentwicklung | Backend-Logik, HTTP, APIs und Frameworks wie Flask oder Django |
| Spieleentwicklung | Spielelogik und interaktive Anwendungen, zum Beispiel mit Pygame |
| Machine Learning und KI | Modelle trainieren, Daten verarbeiten und Vorhersagen berechnen |
| Datenwissenschaft und Visualisierung | Daten auswerten und mit Matplotlib darstellen |
| Desktop-Oberflächen | Grafische Anwendungen, zum Beispiel mit Tkinter |
| Web Scraping | Daten aus Webseiten für erlaubte Zwecke auslesen und verarbeiten |
| Geschäftsanwendungen | E-Commerce-, ERP- und Automatisierungslösungen entwickeln |
| Audio und Video | Medien verarbeiten und Anwendungen mit Medienausgabe bauen |
| CAD | Konstruktion und technische Arbeitsabläufe erweitern |
| Eingebettete Systeme | Python auf kleinen Computern, zum Beispiel Raspberry Pi, einsetzen |
Die konkrete Eignung hängt von den Anforderungen ab. Geschwindigkeit, Speicherbedarf, Zielplattform und Entwicklungszeit müssen zur Aufgabe passen.
Interpreter und Compiler
Ein Programm liegt zuerst als Quelltext vor. Damit ein Computer die Anweisungen ausführen kann, muss dieser Quelltext durch ein Laufzeitsystem verarbeitet werden.
Beim Kompilieren wird der Quelltext vor der Ausführung in eine andere Form, oft in Maschinencode, übersetzt. Das kann schnell sein, benötigt aber meist einen eigenen Build-Schritt und oft eine eigene Version für verschiedene Zielplattformen.
Beim Interpretieren verarbeitet ein Interpreter den Quelltext oder einen Zwischencode zur Laufzeit. Das erleichtert kurze Tests und schnelle Änderungen. Dafür muss auf dem Zielsystem eine passende Laufzeitumgebung vorhanden sein.
Die Aussage „Python ist interpretiert“ ist für den Einstieg nützlich, aber technisch unvollständig: Eine typische Python-Implementierung erzeugt intern Bytecode, der von der Python-Laufzeitumgebung ausgeführt wird.
| Begriff | Bedeutung | Beispiel |
|---|---|---|
| Kompilieren | Quelltext wird vor der Ausführung in eine andere Form oder Maschinencode übersetzt. | C++ |
| Interpretieren | Ein Laufzeitsystem verarbeitet Quelltext oder Zwischencode bei der Ausführung. | Python, JavaScript |
| Beides | Eine Sprache kann zuerst Zwischencode erzeugen und ihn danach mit einer Laufzeitumgebung ausführen. | Java, Python |
| Ansatz | Vorteile | Mögliche Nachteile |
|---|---|---|
| Kompilieren | oft hohe Ausführungsgeschwindigkeit; Fehler können vor dem Start gefunden werden | Build-Schritt und Zielplattform müssen berücksichtigt werden |
| Interpretieren | schnelle Rückmeldung und leicht anpassbar | passende Laufzeitumgebung erforderlich |
| Kombination | Zwischencode kann mit einer flexiblen Laufzeit verbunden werden | technischer Ablauf ist komplexer |
Programmierparadigmen
Ein Paradigma beschreibt eine typische Art, Programme und Probleme zu strukturieren. Python kann mehrere Ansätze kombinieren.
| Paradigma | Leitfrage | Python-Beispiel |
|---|---|---|
| prozedural | Welche Schritte werden nacheinander ausgeführt? | Variablen, Bedingungen und Schleifen |
| objektorientiert | Welche Objekte besitzen Daten und Verhalten? | Klassen wie Person oder Konto |
| funktional | Welche Funktionen verarbeiten welche Werte? | Funktionen, map() oder Lambda-Ausdrücke |
# Prozedural: Schritte nacheinander
preis = 12
anzahl = 3
gesamt = preis * anzahl
print(gesamt)
Funktional: Werte durch Funktionen verarbeiten
Bei einem funktionalen Ansatz wird eine Aufgabe in eine Funktion ausgelagert. Die Funktion erhält Werte und gibt ein Ergebnis zurück.
def verdoppeln(zahl):
return zahl * 2
ergebnis = verdoppeln(4)
print(ergebnis)
Die Funktion verdoppeln() erhält die Zahl 4 und gibt das Ergebnis 8 zurück. In späteren Blöcken lernen wir weitere funktionale Werkzeuge wie Lambda-Funktionen kennen.
Objektorientiert: Daten und Verhalten zusammenfassen
Bei der objektorientierten Programmierung werden Daten und passende Funktionen in einer Klasse gebündelt. Ein Objekt ist eine konkrete Ausprägung dieser Klasse.
class Person:
def __init__(self, name):
self.name = name
def begruessen(self):
print(f"Hallo, ich bin {self.name}.")
person = Person("Samira")
person.begruessen()
Die Klasse Person beschreibt Daten und Verhalten. Das Objekt person verwendet diesen Bauplan mit dem konkreten Namen Samira.
Funktional: Werte durch Funktionen verarbeiten
Bei einem funktionalen Ansatz wird eine Aufgabe in eine Funktion ausgelagert. Die Funktion erhält Werte und gibt ein Ergebnis zurück.
def verdoppeln(zahl):
return zahl * 2
ergebnis = verdoppeln(4)
print(ergebnis)
Die Funktion verdoppeln() erhält die Zahl 4 und gibt das Ergebnis 8 zurück. In späteren Blöcken lernen wir weitere funktionale Werkzeuge wie Lambda-Funktionen kennen.
Das erste Python-Programm
Mit print() schreiben wir Text oder Werte in die Ausgabe. Text steht in Anführungszeichen.
print("Willkommen im Pythonkurs!")
print("Wir prüfen jede Idee direkt im Code.")
Speichere ein längeres Programm in einer Datei mit der Endung .py. Im Terminal kann sie so gestartet werden:
python hallo.py
Python auf Windows prüfen
Öffne PowerShell oder die Eingabeaufforderung und prüfe, ob Python erreichbar ist. Je nach Installation funktioniert auch der Befehl py.
python --version
py --version
Die Ausgabe zeigt die installierte Python-3-Version. Für diesen Kurs sollte der Interpreter in VS Code auf dieselbe Installation zeigen, die auch im Terminal verwendet wird.
Die interaktive Python-Shell
Für kurze Experimente kann Python ohne eine Datei gestartet werden. Nach dem Start erscheint die Eingabeaufforderung >>>.
python
>>> print("Hallo Welt!")
Hallo Welt!
>>> exit()
Die Shell eignet sich für kleine Tests. Für längere Programme speichern wir den Code in einer .py-Datei, damit er später wieder geöffnet und verbessert werden kann.
Einrückung ist Syntax
Python verwendet Einrückungen, um zusammengehörige Anweisungen zu kennzeichnen. Nach einer Bedingung steht ein Doppelpunkt. Die folgenden Zeilen des Blocks werden einheitlich eingerückt.
if 5 > 2:
print("Die Bedingung ist wahr.")
Vier Leerzeichen pro Ebene sind üblich. Entscheidend ist, dass alle Zeilen desselben Blocks gleich eingerückt sind.
# Fehlerhaft
if 5 > 2:
print("Diese Zeile gehört zum if-Block.")
Ohne Einrückung entsteht ein IndentationError. Bei fehlenden Klammern oder Anführungszeichen kann ein SyntaxError entstehen.
Kommentare und Variablen
Kommentare beginnen mit # und werden nicht ausgeführt. Sie dokumentieren den Code für Menschen und können eine Zeile vorübergehend deaktivieren.
# Diese Zeile ist eine Notiz für Menschen.
name = "Samira" # Kommentar am Zeilenende
# print("Diese Ausgabe ist vorübergehend ausgeschaltet.")
print(name)
Eine Variable entsteht, wenn ihr ein Wert zugewiesen wird. Mit Variablen arbeiten wir im nächsten Unterrichtsblock ausführlicher.
Aufgaben
1. Erstes Programm
Erstelle eine Datei hallo.py, gib Hallo Welt! aus und führe sie im Editor sowie im Terminal aus. Ändere den Text anschließend so, dass dein eigener Name erscheint.
2. Kommentare untersuchen
Erstelle ein Programm mit einem Kommentar vor einer Ausgabe, einem Kommentar am Zeilenende und einer auskommentierten print()-Zeile. Beobachte, welche Zeilen Python ausführt.
3. Einrückung testen
Führe das if-Beispiel aus. Entferne die Einrückung vor print(), starte den Code erneut und beschreibe die Fehlermeldung. Stelle den Code danach wieder her.
4. Persönliche Textkarte
Schreibe ein Programm, das deinen Namen, ein Interessengebiet und dein Ziel im Pythonkurs ausgibt. Verwende mindestens zwei Kommentare und eine einfache if-Anweisung.
print("Name: DEIN NAME")
print("Interesse: DEIN INTERESSE")
print("Mein Ziel: DEIN ZIEL")
# Diese Zeile beschreibt den folgenden Code.
if 5 > 2:
print("Meine Textkarte funktioniert.")
5. Fachliche Fragen
- Was ist der Unterschied zwischen Quelltext und ausgeführtem Programm?
- Was passiert beim Kompilieren?
- Wie arbeitet ein Interpreter zur Laufzeit?
- Welche Vor- und Nachteile haben kompilierte und interpretierte Programme?
- Warum kann Python sowohl Interpreter als auch Zwischencode verwenden?
- Was unterscheidet prozedurale, objektorientierte und funktionale Programmierung?
Optionale Zusatzaufgaben
- Schreibe drei zusätzliche Ausgaben für deine Textkarte.
- Erstelle eine zweite
if-Anweisung mit einer eigenen Bedingung. - Baue absichtlich einen Einrückungsfehler ein, erkläre die Fehlermeldung und korrigiere ihn.
- Schreibe ein kleines Rechenprogramm mit zwei Zahlen und
+,-und*. - Führe denselben Ausdruck in der Python-Shell und in einer
.py-Datei aus. - Vergleiche Python, C++, Java und JavaScript in einer eigenen Tabelle.
