Zum Inhalt springen

Python (Programmiersprache) - aiMOOC

Aus MOOCsWiki Staging
Version vom 14. Juni 2026, 02:12 Uhr von Glanz (Diskussion | Beiträge) (aiMOOC über GPT aiMOOC Action erstellt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)



Python (Programmiersprache) - aiMOOC



Einleitung

Python ist eine moderne, weit verbreitete Programmiersprache, mit der Du sehr unterschiedliche digitale Probleme lösen kannst: kleine Automatisierungen, Datenanalyse, Webentwicklung, Künstliche Intelligenz, Robotik, Simulation, Softwaretests, Spielentwicklung und vieles mehr. Python gilt als besonders gut lesbar, weil die Sprache auf eine klare Syntax, sprechende Namen und strukturierte Einrückung setzt. Dadurch eignet sich Python sowohl für den Einstieg ins Programmieren als auch für professionelle Projekte in Wissenschaft, Wirtschaft, Bildung und Open-Source-Software.

Dieser aiMOOC führt Dich von den Grundideen der Sprache zu eigenen kleinen Programmen. Du lernst zentrale Datentypen, Variablen, Kontrollstrukturen, Funktionen, Module, Fehlerbehandlung, Objektorientierte Programmierung und den Umgang mit Paketen kennen. Außerdem reflektierst Du, wann Python eine gute Wahl ist, wo Grenzen liegen und wie Du verantwortungsvoll mit Code, Daten und fremden Bibliotheken umgehst.


Lernziele

Nach diesem aiMOOC kannst Du erklären, was Python als Programmiersprache auszeichnet, warum Lesbarkeit und Einrückung wichtig sind und wie einfache Programme aufgebaut werden. Du kannst grundlegende Algorithmen in Python formulieren, typische Programmprobleme untersuchen, kleine Programme verbessern und beurteilen, welche Rolle Python in Datenwissenschaft, Webentwicklung, Automatisierung und KI spielt.

  1. Grundlagen der Programmierung: Du beschreibst Begriffe wie Variable, Ausdruck, Anweisung, Datentyp, Schleife und Funktion.
  2. Python-Syntax: Du erkennst die Bedeutung von Einrückung, Doppelpunkt, Kommentaren und sauberer Namensgebung.
  3. Problemlösen: Du zerlegst Aufgaben in kleine Schritte und setzt sie als Algorithmus um.
  4. Debugging: Du untersuchst Programmprobleme systematisch und nutzt Hinweise des Interpreters.
  5. Transfer: Du entwickelst eigene Ideen für Python-Projekte und bewertest Chancen sowie Risiken.


Was ist Python?

Python ist eine Hochsprache, also eine Programmiersprache, die näher an menschlich lesbaren Formulierungen liegt als an Maschinensprache. Python-Code wird meist durch einen Interpreter ausgeführt. Der verbreitetste Interpreter heißt CPython und ist die Referenzimplementierung der Sprache. Daneben gibt es weitere Implementierungen wie PyPy, MicroPython oder CircuitPython, die für besondere Zwecke eingesetzt werden können, etwa für höhere Ausführungsgeschwindigkeit oder kleine Mikrocontroller.

Typisch für Python ist die Verbindung aus Einfachheit und großer Ausdrucksstärke. Ein kurzes Programm kann bereits nützliche Aufgaben erledigen, aber dieselbe Sprache kann auch für sehr große Softwareprojekte genutzt werden. Python unterstützt mehrere Programmierparadigmen, darunter imperative Programmierung, strukturierte Programmierung, funktionale Programmierung und objektorientierte Programmierung. In der Praxis bedeutet das: Du kannst zunächst einfache Schritt-für-Schritt-Programme schreiben und später lernen, wie man Programme mit Funktionen, Klassen und Modulen sauber organisiert.

Ein sehr kleines Python-Programm sieht so aus:

<syntaxhighlight lang="python"> name = "Ada" print("Hallo, " + name + "!") </syntaxhighlight>

Die erste Zeile speichert den Text Ada in einer Variable. Die zweite Zeile ruft die Funktion print auf und gibt eine Begrüßung aus. Auch wenn dieses Beispiel klein ist, enthält es wichtige Grundideen: Ein Programm verarbeitet Daten, führt Anweisungen aus und erzeugt eine Ausgabe.


Warum ist Python so beliebt?

Python ist beliebt, weil die Sprache viele Probleme mit wenig, gut lesbarem Code lösbar macht. Die offizielle Dokumentation beschreibt Python als leicht zu lernende und leistungsfähige Sprache mit effizienten höheren Datenstrukturen und einem einfachen, aber wirksamen Ansatz für objektorientiertes Programmieren.<ref>Python-Dokumentation: The Python Tutorial, abgerufen am 14. Juni 2026.</ref> Die umfangreiche Standardbibliothek liefert viele Werkzeuge bereits mit, zum Beispiel für Dateien, Mathematik, Zufallszahlen, Internetprotokolle, Textverarbeitung, Datumsangaben und Tests.

Ein weiterer Grund ist das große Ökosystem. Über den Python Package Index können Entwicklerinnen und Entwickler zahlreiche zusätzliche Pakete finden und installieren. Damit kannst Du Python beispielsweise um Bibliotheken für Datenvisualisierung, Machine Learning, Webframeworks, Bildverarbeitung oder naturwissenschaftliches Rechnen erweitern. Gleichzeitig bedeutet dieses Ökosystem auch Verantwortung: Fremde Pakete müssen geprüft, aktuell gehalten und sicher verwendet werden.


Python als Sprache des Lernens und Forschens

Python wird häufig in Schule, Ausbildung und Studium eingesetzt, weil die Sprache den Blick auf das eigentliche Problem erleichtert. Bei vielen anderen Sprachen müssen Einsteigerinnen und Einsteiger früh komplexe syntaktische Details beherrschen. In Python können einfache Aufgaben schneller umgesetzt werden. Das heißt nicht, dass Python immer einfach ist. Professionelle Python-Programme erfordern genauso sorgfältige Planung, Tests, Dokumentation und Wartung wie andere Software.

Gerade in Data Science und Künstliche Intelligenz ist Python besonders präsent. Bibliotheken wie NumPy, pandas, Matplotlib, scikit-learn, TensorFlow oder PyTorch machen Python zu einem wichtigen Werkzeug für Datenanalyse, Statistik, Visualisierung und maschinelles Lernen. In der wissenschaftlichen Programmierung wird Python oft als verständliche Steuer- und Auswertungssprache genutzt, während rechenintensive Teile teilweise in Sprachen wie C, C++ oder Fortran implementiert sind.


Geschichte von Python

Python wurde von Guido van Rossum am Centrum Wiskunde & Informatica in den Niederlanden entwickelt. Die Arbeit begann Ende der 1980er Jahre; die erste öffentliche Version erschien 1991.<ref>CWI: 25 Years of Python at CWI, abgerufen am 14. Juni 2026.</ref> Der Name der Sprache bezieht sich nicht auf die Schlangengattung, sondern auf die britische Komikergruppe Monty Python. Trotzdem ist die Schlange als Bild mit Python verbunden, was man auch am Logo und an manchen Projektnamen erkennt.

Die Entwicklung von Python ist ein gutes Beispiel für offene Softwareentwicklung. Viele Menschen aus der weltweiten Community tragen Ideen, Fehlerkorrekturen, Dokumentation und Pakete bei. Die Python Software Foundation unterstützt die Sprache organisatorisch. Python-Versionen erscheinen in einem regelmäßigen Entwicklungsprozess. Als aktueller Stand dieses aiMOOCs gilt: Am 14. Juni 2026 wird auf python.org Python 3.14.6 als aktuelle Downloadversion angeboten.<ref>Python.org: Download Python, abgerufen am 14. Juni 2026.</ref> Für Lernende ist wichtig: Du solltest moderne Python-3-Versionen verwenden. Python 2 ist veraltet und sollte für neue Projekte nicht mehr genutzt werden.


Python 2 und Python 3

Ein wichtiger Einschnitt war die Veröffentlichung von Python 3 im Jahr 2008. Python 3 beseitigte einige Altlasten, war aber nicht vollständig rückwärtskompatibel zu Python 2. Deshalb existierten beide Versionen lange parallel. Heute ist Python 3 der Standard. Wenn Du im Internet ältere Beispiele findest, solltest Du prüfen, ob sie wirklich zu Deiner Python-Version passen. Besonders bei der Ausgabe mit print, bei Textkodierung und bei manchen Bibliotheken können alte Beispiele zu Verwirrung führen.


Installation und Arbeitsumgebung

Um Python zu nutzen, brauchst Du einen Interpreter und meistens einen Texteditor oder eine Integrierte Entwicklungsumgebung. Für den Einstieg reichen einfache Werkzeuge. Du kannst Python von python.org installieren, in einer schulischen Lernplattform verwenden oder direkt in einer Online-Umgebung ausprobieren. In professionellen Projekten nutzt man häufig eine virtuelle Umgebung, damit Pakete für verschiedene Projekte getrennt bleiben.

{{#ev:youtube| https://www.youtube.com/watch?v=e6vPt_e9sRw |500|center}}


Typische Arbeitsweisen

Es gibt verschiedene Wege, mit Python zu arbeiten. In der REPL kannst Du einzelne Befehle ausprobieren. In einer Datei mit der Endung .py speicherst Du ein vollständiges Programm. In einem Jupyter Notebook kombinierst Du Code, Text, Formeln und Grafiken, was besonders in Datenanalyse und Unterricht nützlich ist. Für größere Projekte werden meist Editoren wie Visual Studio Code, PyCharm oder andere Entwicklungsumgebungen eingesetzt.

  1. REPL: Du testest kurze Ausdrücke sofort und siehst direkt das Ergebnis.
  2. Python-Datei: Du speicherst ein Programm dauerhaft in einer Datei mit der Endung .py.
  3. Jupyter Notebook: Du verbindest Code, Erklärung, Tabellen und Diagramme.
  4. Virtuelle Umgebung: Du trennst Pakete und Versionen projektweise.
  5. Versionsverwaltung: Du nutzt zum Beispiel Git, um Änderungen nachvollziehbar zu speichern.


Grundbegriffe der Programmierung mit Python


Anweisungen, Ausdrücke und Kommentare

Eine Anweisung ist ein Schritt, den das Programm ausführt. Ein Ausdruck erzeugt einen Wert, zum Beispiel 3 + 4 oder name.upper(). Ein Kommentar beginnt in Python mit dem Zeichen # und wird vom Interpreter ignoriert. Kommentare sollen nicht offensichtlichen Code wiederholen, sondern erklären, warum etwas geschieht oder welche Idee hinter einem Abschnitt steht.

<syntaxhighlight lang="python">

  1. Preisberechnung mit Mehrwertsteuer

netto = 20.00 mehrwertsteuer = 0.19 brutto = netto * (1 + mehrwertsteuer)

print(brutto) </syntaxhighlight>

Dieses Programm nutzt Variablen, eine Gleitkommazahl und eine mathematische Berechnung. Die Namen sind sprechend gewählt. Dadurch ist leichter zu erkennen, was gemeint ist. Gute Programme sind nicht nur für Maschinen, sondern auch für Menschen lesbar.


Variablen und Zuweisung

Eine Variable ist ein Name, der auf einen Wert verweist. In Python musst Du den Datentyp nicht ausdrücklich vor die Variable schreiben. Der Typ ergibt sich zur Laufzeit aus dem Wert. Das nennt man dynamische Typisierung. Python ist gleichzeitig stark typisiert: Ein Text und eine Zahl werden nicht automatisch beliebig miteinander vermischt.

<syntaxhighlight lang="python"> alter = 15 name = "Mina" ist_angemeldet = True

print(name) print(alter) print(ist_angemeldet) </syntaxhighlight>

Die Variable alter verweist auf eine Ganzzahl, name auf eine Zeichenkette und ist_angemeldet auf einen booleschen Wert. In Python werden Variablennamen häufig in snake_case geschrieben, also mit Kleinbuchstaben und Unterstrichen: punkte_gesamt, maximale_anzahl, ist_fertig.


Datentypen

Datentypen beschreiben, welche Art von Werten verarbeitet wird und welche Operationen sinnvoll sind. Python besitzt viele eingebaute Datentypen. Besonders wichtig sind Zahlen, Texte, Wahrheitswerte und Sammlungen.

Datentyp Beispiel Bedeutung
Ganzzahl 42 Ganze Zahlen ohne Nachkommastellen
Gleitkommazahl 3.14 Zahlen mit Dezimalanteil
Zeichenkette "Hallo" Textdaten
Boolescher Wert True Wahr oder falsch
Liste [1, 2, 3] Veränderbare geordnete Sammlung
Tupel (1, 2) Unveränderbare geordnete Sammlung
Dictionary {"name": "Ada"} Zuordnung von Schlüsseln zu Werten
Menge {1, 2, 3} Sammlung eindeutiger Elemente

Python kann mit diesen Datentypen flexibel umgehen. Trotzdem solltest Du immer überlegen, welcher Datentyp zum Problem passt. Eine Liste eignet sich zum Beispiel für eine Reihenfolge von Messwerten. Ein Dictionary eignet sich, wenn Du Informationen über Schlüssel abrufen willst, etwa person["name"].


Eingabe und Ausgabe

Viele Programme benötigen eine Eingabe und erzeugen eine Ausgabe. In einfachen Konsolenprogrammen nutzt Du input, um Text einzulesen, und print, um etwas auszugeben. Wichtig ist: input liefert immer eine Zeichenkette. Wenn Du eine Zahl brauchst, musst Du sie umwandeln.

<syntaxhighlight lang="python"> name = input("Wie heißt Du? ") alter_text = input("Wie alt bist Du? ") alter = int(alter_text)

print("Hallo, " + name + "!") print("In einem Jahr bist Du", alter + 1, "Jahre alt.") </syntaxhighlight>

Die Funktion int wandelt einen Text in eine Ganzzahl um, sofern der Text tatsächlich eine passende Zahl enthält. Wenn jemand statt einer Zahl ein Wort eingibt, entsteht ein Programmhinweis. Solche Fälle lernst Du später mit Fehlerbehandlung zu berücksichtigen.


Kontrollstrukturen

Kontrollstrukturen bestimmen, welche Anweisungen ausgeführt werden und wie oft sie ausgeführt werden. Ohne Kontrollstrukturen würde ein Programm nur von oben nach unten laufen. Mit Bedingungen und Schleifen kann ein Programm Entscheidungen treffen und wiederholt arbeiten.


Bedingungen mit if, elif und else

Mit if prüfst Du eine Bedingung. Wenn sie wahr ist, wird der eingerückte Block ausgeführt. Mit elif kannst Du weitere Fälle prüfen. Mit else legst Du fest, was in allen übrigen Fällen passiert.

<syntaxhighlight lang="python"> temperatur = 28

if temperatur >= 30:

   print("Es ist sehr heiß.")

elif temperatur >= 20:

   print("Es ist warm.")

else:

   print("Es ist eher kühl.")

</syntaxhighlight>

Die Einrückung ist hier nicht nur schöner Stil, sondern Teil der Syntax. Alles, was zum if-Block gehört, muss gleichmäßig eingerückt sein. Dadurch ist in Python besonders gut sichtbar, welche Anweisungen zusammengehören.


Vergleichsoperatoren und logische Operatoren

Bedingungen nutzen häufig Vergleichsoperatoren wie ==, !=, <, >, <= und >=. Außerdem kannst Du Bedingungen mit and, or und not verbinden.

<syntaxhighlight lang="python"> alter = 16 hat_erlaubnis = True

if alter >= 16 and hat_erlaubnis:

   print("Teilnahme erlaubt.")

else:

   print("Teilnahme nicht erlaubt.")

</syntaxhighlight>

Achte besonders auf den Unterschied zwischen = und ==. Mit = weist Du einer Variable einen Wert zu. Mit == vergleichst Du zwei Werte. Dieser Unterschied ist eine häufige Fehlerquelle.


Schleifen mit for

Eine For-Schleife wird genutzt, wenn Du über eine Sammlung oder einen Zahlenbereich iterieren willst. Die Funktion range erzeugt eine Zahlenfolge.

<syntaxhighlight lang="python"> for zahl in range(1, 6):

   print(zahl)

</syntaxhighlight>

Dieses Programm gibt die Zahlen 1 bis 5 aus. Die obere Grenze von range ist nicht enthalten. Das ist in Python üblich und begegnet Dir auch bei Indizes und Ausschnitten von Listen.


Schleifen mit while

Eine While-Schleife läuft, solange eine Bedingung wahr ist. Sie eignet sich, wenn nicht vorher feststeht, wie oft etwas wiederholt werden soll.

<syntaxhighlight lang="python"> geheimzahl = 7 tipp = 0

while tipp != geheimzahl:

   tipp = int(input("Rate die Zahl: "))

print("Richtig geraten!") </syntaxhighlight>

Bei while-Schleifen musst Du darauf achten, dass die Bedingung irgendwann falsch wird. Sonst kann eine Schleife unbegrenzt weiterlaufen. Solche Schleifen können sinnvoll sein, zum Beispiel in Serverprogrammen, sind aber für Anfängerprojekte meist ungewollt.


Datenstrukturen in Python


Listen

Eine Liste speichert mehrere Werte in einer festen Reihenfolge. Listen sind veränderbar. Du kannst Elemente hinzufügen, entfernen oder verändern.

<syntaxhighlight lang="python"> noten = [2, 3, 1, 2] noten.append(1)

durchschnitt = sum(noten) / len(noten) print(durchschnitt) </syntaxhighlight>

Listen sind sehr nützlich, wenn Du Daten sammeln und verarbeiten möchtest. Mit append fügst Du ein Element hinzu. Mit len ermittelst Du die Länge. Mit sum addierst Du numerische Werte.


Dictionaries

Ein Dictionary ordnet Schlüsseln Werte zu. Dadurch kannst Du Daten mit Namen versehen und gezielt abrufen.

<syntaxhighlight lang="python"> person = {

   "name": "Ada",
   "alter": 17,
   "kurs": "Informatik"

}

print(person["name"]) person["alter"] = 18 </syntaxhighlight>

Dictionaries sind besonders wichtig bei JSON, Web-APIs, Konfigurationsdaten und strukturierten Informationen. Sie helfen Dir, Daten nicht nur nach Position, sondern nach Bedeutung zu organisieren.


Tupel und Mengen

Ein Tupel ähnelt einer Liste, ist aber unveränderbar. Das ist sinnvoll, wenn Daten zusammengehören und nicht versehentlich verändert werden sollen. Eine Menge speichert eindeutige Werte ohne feste Reihenfolge.

<syntaxhighlight lang="python"> punkt = (10, 20) farben = {"rot", "grün", "blau", "rot"}

print(punkt) print(farben) </syntaxhighlight>

In der Menge farben kommt "rot" nur einmal vor, obwohl es zweimal angegeben wurde. Mengen eignen sich, wenn Du Duplikate entfernen oder Schnittmengen, Vereinigungen und Unterschiede berechnen möchtest.


Funktionen

Eine Funktion bündelt eine Teilaufgabe unter einem Namen. Funktionen machen Programme übersichtlicher, wiederverwendbarer und testbarer. Eine Funktion kann Parameter erhalten und mit return einen Wert zurückgeben.

<syntaxhighlight lang="python"> def berechne_brutto(netto, steuersatz):

   brutto = netto * (1 + steuersatz)
   return brutto

preis = berechne_brutto(20.00, 0.19) print(preis) </syntaxhighlight>

Die Funktion berechne_brutto beschreibt eine klare Aufgabe. Sie verändert keine globalen Daten, sondern erhält Eingaben und liefert ein Ergebnis. Das ist ein guter Stil, weil die Funktion leichter zu verstehen und zu testen ist.


Warum Funktionen wichtig sind

Ohne Funktionen werden Programme schnell unübersichtlich. Wenn derselbe Code an mehreren Stellen kopiert wird, entstehen leicht Fehler. Funktionen helfen Dir, Abstraktion zu nutzen: Du gibst einer Idee einen Namen und musst nicht jedes Detail an jeder Stelle neu schreiben. Gute Funktionsnamen sind wie kleine Erklärungen: berechne_durchschnitt, lade_datei, ist_gueltige_email.


Lokale und globale Variablen

Variablen innerhalb einer Funktion sind meist lokal. Sie existieren nur während des Funktionsaufrufs. Das schützt Programme vor unbeabsichtigten Wechselwirkungen.

<syntaxhighlight lang="python"> def begruessung(name):

   text = "Hallo, " + name
   return text

ausgabe = begruessung("Sam") print(ausgabe) </syntaxhighlight>

Die Variable text ist innerhalb der Funktion definiert. Außerhalb der Funktion ist sie nicht direkt verfügbar. Diese Trennung ist wichtig, damit größere Programme beherrschbar bleiben.


Module, Pakete und Bibliotheken

Ein Modul ist eine Python-Datei, deren Funktionen, Klassen oder Variablen in anderen Programmen genutzt werden können. Ein Paket bündelt mehrere Module. Mit import bindest Du vorhandene Werkzeuge ein.

<syntaxhighlight lang="python"> import math

radius = 5 flaeche = math.pi * radius ** 2 print(flaeche) </syntaxhighlight>

Das Modul math gehört zur Standardbibliothek. Es enthält mathematische Funktionen und Konstanten. Durch Module musst Du nicht alles selbst programmieren. Gleichzeitig solltest Du verstehen, was importierter Code ungefähr tut.


Pakete installieren

Zusätzliche Pakete werden häufig mit pip installiert. In professionellen Projekten ist es üblich, eine virtuelle Umgebung zu nutzen und Abhängigkeiten zu dokumentieren. So bleibt nachvollziehbar, welche Versionen verwendet wurden.

<syntaxhighlight lang="text"> python -m venv .venv python -m pip install requests </syntaxhighlight>

Der Python Package Index ist das zentrale Repository für viele Python-Pakete. Er hilft dabei, Pakete zu finden, zu installieren und zu veröffentlichen.<ref>PyPI: The Python Package Index, abgerufen am 14. Juni 2026.</ref> Für die Sicherheit ist wichtig, nur Pakete aus vertrauenswürdigen Quellen zu installieren, Versionen zu prüfen und keine unbekannten Befehle blind auszuführen.


Programmprobleme, Debugging und Tests

Probleme gehören zum Programmieren. Ein guter Umgang damit ist ein Zeichen von Kompetenz. Es gibt Probleme in der Schreibweise, Probleme während der Ausführung und Probleme in der Programmlogik. Besonders tückisch sind Programme, die laufen, aber falsche Ergebnisse liefern.


Hinweise des Interpreters lesen

Wenn Python ein Programm nicht ausführen kann, zeigt der Interpreter meist einen Bericht mit Zeilennummer und Ursache. Lies diese Hinweise sorgfältig: Unten steht oft der wichtigste Grund, darüber der Weg dorthin.

<syntaxhighlight lang="python"> zahl_text = "abc" zahl = int(zahl_text) </syntaxhighlight>

Dieses Beispiel kann nicht sinnvoll in eine Ganzzahl umgewandelt werden. Der Hinweis des Interpreters ist kein Gegner, sondern eine Spur. Er sagt Dir, was Python an welcher Stelle nicht ausführen konnte.


Eingaben prüfen

Benutzereingaben, Dateien und Netzwerkdaten sind nie automatisch zuverlässig. Deshalb ist es sinnvoll, Eingaben vor der Verarbeitung zu prüfen.

<syntaxhighlight lang="python"> eingabe = input("Gib eine ganze Zahl ein: ")

if eingabe.isdigit():

   zahl = int(eingabe)
   print("Das Doppelte ist", zahl * 2)

else:

   print("Bitte gib nur Ziffern ein.")

</syntaxhighlight>

Diese Prüfung verhindert, dass ein ungeeigneter Text direkt als Zahl verarbeitet wird. In größeren Projekten werden solche Prüfungen noch sorgfältiger gestaltet.


Tests schreiben

Tests prüfen, ob ein Programm erwartete Ergebnisse liefert. Schon einfache Tests helfen, Probleme früh zu finden. In Python gibt es dafür Werkzeuge in der Standardbibliothek und zusätzliche Testbibliotheken.

<syntaxhighlight lang="python"> def quadrat(x):

   return x * x

print(quadrat(4) == 16) print(quadrat(-3) == 9) </syntaxhighlight>

Die Ausgaben sollten jeweils True sein. Für größere Projekte sollten Tests systematischer aufgebaut werden. Trotzdem zeigen diese Beispiele die Grundidee: Ein Programm sollte nicht nur geschrieben, sondern überprüft werden.


Objektorientierte Programmierung

Objektorientierte Programmierung organisiert Programme mit Klassen und Objekten. Eine Klasse beschreibt, welche Daten und Methoden ein Objekt besitzt. Ein Objekt ist eine konkrete Ausprägung dieser Klasse.

<syntaxhighlight lang="python"> class Roboter:

   def __init__(self, name):
       self.name = name
       self.schritte = 0
   def gehe(self, anzahl):
       self.schritte += anzahl
   def status(self):
       return f"{self.name} ist {self.schritte} Schritte gegangen."

r = Roboter("Robo") r.gehe(5) print(r.status()) </syntaxhighlight>

Die Methode __init__ initialisiert ein neues Objekt. Das Schlüsselwort self verweist auf das aktuelle Objekt. Objektorientierung ist besonders nützlich, wenn Programme viele zusammengehörige Daten und Verhaltensweisen modellieren, zum Beispiel Spielfiguren, Fahrzeuge, Konten, Sensoren oder grafische Elemente.


Wann lohnt sich Objektorientierung?

Objektorientierung lohnt sich, wenn ein Problem natürliche Einheiten besitzt, die Zustand und Verhalten kombinieren. Für ein kleines Rechenprogramm reichen oft Funktionen. Für ein Spiel mit vielen Figuren kann eine Klasse sinnvoll sein. Gute Programmiererinnen und Programmierer wählen nicht automatisch das komplizierteste Konzept, sondern das passende Werkzeug.


Python in der Praxis

Python wird in sehr unterschiedlichen Bereichen eingesetzt. Manche Programme laufen nur wenige Zeilen lang auf einem privaten Rechner. Andere sind Teil großer Systeme, die Millionen Menschen nutzen. Die folgenden Beispiele zeigen typische Einsatzfelder.


Automatisierung

Mit Python lassen sich wiederkehrende Aufgaben automatisieren: Dateien umbenennen, Tabellen auswerten, Berichte erstellen, Ordner durchsuchen, Messdaten verarbeiten oder Webseiten abrufen. Automatisierung spart Zeit, kann aber auch Fehler vervielfachen. Deshalb solltest Du Programme zuerst mit Testdaten ausprobieren und wichtige Dateien sichern.


Datenanalyse und Visualisierung

In der Datenanalyse werden Daten gesammelt, bereinigt, untersucht und dargestellt. Python bietet viele Bibliotheken, um Tabellen einzulesen, statistische Kennzahlen zu berechnen und Diagramme zu erstellen. Dabei ist nicht nur der Code wichtig, sondern auch die Frage, ob Daten zuverlässig, vollständig, fair erhoben und sinnvoll interpretiert wurden.


Webentwicklung

Mit Webframeworks wie Django oder Flask können Webseiten und Webanwendungen entwickelt werden. Python übernimmt dabei zum Beispiel die Verarbeitung von Anfragen, den Zugriff auf Datenbanken und die Erstellung von HTML-Seiten oder JSON-Antworten. In Webprojekten sind Datenschutz, IT-Sicherheit, Barrierefreiheit und Wartbarkeit besonders wichtig.


Künstliche Intelligenz und maschinelles Lernen

Python spielt eine zentrale Rolle in vielen Machine-Learning-Projekten. Bibliotheken wie scikit-learn, PyTorch und TensorFlow stellen Werkzeuge bereit, um Modelle zu trainieren und Daten zu verarbeiten. Wichtig ist dabei: Python allein macht keine Anwendung intelligent. Entscheidend sind Problemverständnis, Datenqualität, Modellwahl, Evaluation und verantwortlicher Einsatz. KI-Systeme können verzerrte Daten übernehmen und falsche Schlussfolgerungen nahelegen. Deshalb muss Programmieren immer mit kritischem Denken verbunden sein.


Guter Programmierstil

Guter Stil ist kein Luxus. Er macht Programme verständlich, wartbar und weniger fehleranfällig. In Python ist der Styleguide PEP 8 besonders bekannt. Er empfiehlt unter anderem gut lesbare Namen, passende Leerzeichen, übersichtliche Zeilenlängen und klare Struktur. Für Lernende sind zunächst drei Regeln besonders wichtig: Schreibe sprechende Namen, zerlege große Aufgaben in kleine Funktionen und teste Dein Programm regelmäßig.


Lesbarkeit vor Trickreichtum

Ein Programm ist nicht automatisch besser, weil es möglichst kurz ist. Kurzer Code kann elegant sein, aber auch unverständlich. Besonders im Unterricht und in Teamprojekten gilt: Andere sollen nachvollziehen können, was Dein Code tut. Das gilt auch für Dich selbst, wenn Du ein Programm nach einigen Wochen erneut öffnest.

<syntaxhighlight lang="python">

  1. Weniger gut lesbar

x = [n*n for n in range(10) if n % 2 == 0]

  1. Gut, wenn die Absicht erklärt wird

quadrate_gerader_zahlen = [zahl * zahl for zahl in range(10) if zahl % 2 == 0] </syntaxhighlight>

Das zweite Beispiel ist länger, aber die Absicht ist klarer. Gute Namen sind eine Form von Dokumentation.


Sicherheit und Verantwortung

Python-Projekte können mit persönlichen Daten, Netzwerken, Dateien und fremden Paketen arbeiten. Deshalb gehört IT-Sicherheit von Anfang an dazu. Installiere keine unbekannten Pakete, speichere keine Passwörter direkt im Code, prüfe Eingaben und denke über Datenschutz nach. Besonders bei Programmen, die Daten anderer Menschen verarbeiten, brauchst Du eine klare Begründung, Schutzmaßnahmen und transparente Kommunikation.


Schritt-für-Schritt-Projekt: Zahlenanalyse

In diesem Mini-Projekt schreibst Du ein Programm, das eine Liste von Zahlen analysiert. Es berechnet Minimum, Maximum und Durchschnitt. Dieses Projekt verbindet Listen, Funktionen und Ausgabe.


Projektidee

Du möchtest Messwerte auswerten, zum Beispiel Temperaturen, Punktzahlen oder Laufzeiten. Das Programm soll nicht nur ein einzelnes Ergebnis ausgeben, sondern mehrere Kennzahlen.

<syntaxhighlight lang="python"> def analysiere_zahlen(werte):

   minimum = min(werte)
   maximum = max(werte)
   durchschnitt = sum(werte) / len(werte)
   return {
       "minimum": minimum,
       "maximum": maximum,
       "durchschnitt": durchschnitt
   }

messwerte = [18.5, 20.0, 19.2, 21.1, 17.9] ergebnis = analysiere_zahlen(messwerte)

print("Minimum:", ergebnis["minimum"]) print("Maximum:", ergebnis["maximum"]) print("Durchschnitt:", ergebnis["durchschnitt"]) </syntaxhighlight>

Das Programm nutzt eine Funktion, eine Liste und ein Dictionary. Es ist bereits besser strukturiert als ein reines Skript, weil die Analyse in einer Funktion gebündelt ist.


Erweiterungen

Du kannst das Projekt erweitern, indem Du Benutzereingaben hinzufügst, Werte aus einer Datei liest, ungültige Eingaben abfängst oder ein Diagramm erstellst. Wichtig ist, jede Erweiterung einzeln zu testen. So erkennst Du schneller, an welcher Stelle ein Problem entsteht.


Häufige Anfängerprobleme

Viele Schwierigkeiten beim Lernen sind normal. Entscheidend ist, sie zu erkennen und daraus Strategien zu entwickeln. Besonders häufig sind falsche Einrückung, Verwechslung von = und ==, fehlende Umwandlung von Eingaben, unklare Variablennamen und zu große Codeblöcke ohne Funktionen.

  1. Einrückung: Blöcke müssen einheitlich eingerückt sein.
  2. Zuweisung: = weist zu, == vergleicht.
  3. Typumwandlung: Eingaben mit input sind zunächst Texte.
  4. Namensgebung: Gute Namen erklären die Bedeutung.
  5. Debugging: Systematische Prüfung liefert wertvolle Hinweise.


Zusammenfassung

Python ist eine gut lesbare, vielseitige und mächtige Programmiersprache. Sie eignet sich für den Einstieg, bleibt aber auch für professionelle Anwendungen relevant. Du hast gesehen, wie Variablen, Datentypen, Bedingungen, Schleifen, Funktionen, Module, Fehlerbehandlung und Klassen zusammenwirken. Außerdem hast Du gelernt, dass Programmieren mehr ist als Syntax: Es geht um Problemlösen, Struktur, Tests, Sicherheit, Verantwortung und verständliche Kommunikation.


Interaktive Aufgaben


Quiz: Teste Dein Wissen

Wofür steht Python im Kontext dieses aiMOOCs? (Eine Programmiersprache) (!Eine Tabellenkalkulation) (!Ein Betriebssystem) (!Ein Webbrowser)




Wer gilt als Entwickler von Python? (Guido van Rossum) (!Linus Torvalds) (!Tim Berners-Lee) (!Ada Lovelace)




Welche Besonderheit nutzt Python zur Strukturierung von Codeblöcken? (Einrückung) (!Semikolonpflicht) (!Geschweifte Klammern als Pflicht) (!Römische Zahlen)




Welche Funktion gibt Text oder Werte auf der Konsole aus? (print) (!input) (!range) (!append)




Welcher Datentyp speichert geordnete veränderbare Sammlungen? (Liste) (!Tupel) (!Menge) (!Boolescher Wert)




Was bewirkt eine if-Anweisung? (Sie prüft eine Bedingung und führt abhängig davon Code aus) (!Sie installiert automatisch Pakete) (!Sie beendet immer das Programm) (!Sie wandelt jeden Text in eine Zahl um)




Wozu dienen Funktionen in Python besonders? (Sie bündeln wiederverwendbare Teilaufgaben) (!Sie ersetzen jede Variable) (!Sie verhindern alle Schwierigkeiten automatisch) (!Sie löschen installierte Pakete)




Wie wird ein Modul typischerweise eingebunden? (import) (!repeat) (!include) (!connect)




Was liefert input in Python zunächst zurück? (Eine Zeichenkette) (!Immer eine Ganzzahl) (!Immer eine Liste) (!Immer einen Wahrheitswert)




Was ist PyPI? (Ein Repository für Python-Pakete) (!Ein Python-Schlüsselwort) (!Ein Grafikformat) (!Ein Betriebssystemkern)





Memory

Variable benannter Verweis auf einen Wert
Liste geordnete veränderbare Sammlung
Dictionary Zuordnung von Schlüsseln zu Werten
Funktion wiederverwendbarer Programmbaustein
Modul Python-Datei zum Importieren
Schleife wiederholte Ausführung von Code
Bedingung Entscheidung im Programmablauf
Interpreter führt Python-Code aus





Drag and Drop

Ordne die richtigen Begriffe zu. Thema
Variable speichert oder verweist auf einen Wert
Bedingung entscheidet über einen Programmzweig
Schleife wiederholt Anweisungen
Funktion bündelt eine Teilaufgabe
Modul stellt wiederverwendbaren Code bereit




...


Kreuzworträtsel

Rossum Wer entwickelte Python mit dem Vornamen Guido?
Einrueckung Was strukturiert in Python Codeblöcke?
Liste Welche Datenstruktur speichert mehrere Werte geordnet und veränderbar?
Funktion Welcher Programmbaustein bündelt eine wiederverwendbare Teilaufgabe?
Modul Wie heißt eine importierbare Python-Datei?
Testen Was prüft, ob ein Programm erwartete Ergebnisse liefert?





LearningApps


Lückentext

Vervollständige den Text.

Python ist eine

, die besonders für ihre gute Lesbarkeit bekannt ist. Codeblöcke werden in Python durch

gekennzeichnet. Eine

verweist auf einen Wert, der im Programm verwendet werden kann. Mit einer

kann ein Programm unterschiedliche Wege einschlagen. Eine

wiederholt Anweisungen, solange oder sooft es nötig ist. Eine

bündelt eine Teilaufgabe unter einem Namen. Ein

kann mit import in ein Programm eingebunden werden. Zusätzliche Pakete findet man häufig über

. Beim

werden Programme systematisch untersucht. Gute Programme berücksichtigen neben der Syntax auch

.




Offene Aufgaben


Leicht

  1. Python-Steckbrief: Erstelle einen einseitigen Steckbrief zu Python mit Ursprung, Einsatzgebieten, typischen Dateiendungen, Stärken und Grenzen.
  2. Erstes Programm: Schreibe ein Programm, das Deinen Namen, Dein Lieblingsfach und ein selbst gewähltes Lernziel ausgibt.
  3. Variablen-Experiment: Lege Variablen für Alter, Lieblingszahl und Wohnort an und gib daraus sinnvolle Sätze aus.
  4. Programmuntersuchung: Sammle drei typische Anfängerprobleme aus Python-Beispielen und erkläre jeweils, wie man sie erkennt und behebt.


Standard

  1. Zahlenanalyse: Schreibe ein Programm, das fünf Zahlen einliest und Minimum, Maximum sowie Durchschnitt berechnet.
  2. Quizprogramm: Entwickle ein kleines Konsolenquiz mit mindestens fünf Fragen, Punktestand und Rückmeldung.
  3. Textauswertung: Schreibe ein Programm, das einen eingegebenen Satz analysiert und Anzahl der Zeichen, Wörter und Vokale ausgibt.
  4. Bibliotheksrecherche: Recherchiere eine Python-Bibliothek aus einem Bereich Deiner Wahl und erkläre Zweck, Beispielanwendung und mögliche Risiken.


Schwer

  1. Projektplanung: Entwirf ein Python-Projekt, das ein reales Problem aus Schule, Alltag oder Verein löst, und dokumentiere Ziel, Eingaben, Verarbeitung und Ausgabe.
  2. Datenvisualisierung: Erstelle mit Python ein Diagramm aus selbst erhobenen oder frei verfügbaren Daten und interpretiere die Darstellung kritisch.
  3. Objektmodell: Modelliere ein kleines System mit mindestens zwei Klassen, zum Beispiel eine Bibliothek, ein Haustierheim oder ein Spiel.
  4. Code-Review: Tausche ein Programm mit einer anderen Person, prüfe Lesbarkeit, Struktur, Eingabeprüfung und Tests und formuliere konstruktives Feedback.



<inputbox>

type=create break=no preload=CHAT GPT TEXT HIER EINFÜGEN default= width=30 placeholder= Dein MOOC Titel buttonlabel=MOOC erstellen </inputbox>


Text bearbeiten Bild einfügen Video einbetten Interaktive Aufgaben erstellen



Lernkontrolle

  1. Algorithmisches Denken: Beschreibe ein Alltagsproblem als Algorithmus und entscheide, welche Python-Strukturen dafür geeignet wären. Begründe Deine Auswahl.
  2. Codeverständnis: Erkläre anhand eines unbekannten kurzen Python-Programms, welche Eingaben verarbeitet werden, welche Zwischenschritte stattfinden und welche Ausgabe entsteht.
  3. Programmanalyse: Du erhältst ein Programm mit mehreren Schwierigkeiten. Ordne sie in Schreibweise, Ausführung und Logik ein und entwickle eine Strategie zur Verbesserung.
  4. Datenmodellierung: Vergleiche Liste, Tupel, Menge und Dictionary an einem eigenen Beispiel und entscheide, welche Datenstruktur für welche Aufgabe am besten passt.
  5. Projektbewertung: Beurteile ein Python-Projekt nicht nur nach Funktion, sondern auch nach Lesbarkeit, Testbarkeit, Sicherheit und verantwortlichem Umgang mit Daten.
  6. Transferaufgabe: Entwickle eine Idee, wie Python in einem anderen Fach eingesetzt werden könnte, etwa in Mathematik, Biologie, Geografie, Musik oder Politik, und skizziere eine Umsetzung.


Lernnachweis

Für einen Lernnachweis erstellst Du ein kleines Python-Projekt mit Dokumentation. Dein Projekt soll ein klares Problem lösen, sinnvoll strukturierte Funktionen enthalten, Eingaben prüfen und mindestens drei Tests oder Testfälle dokumentieren. Zusätzlich schreibst Du eine Reflexion: Was hat funktioniert, welche Schwierigkeiten sind aufgetreten, wie hast Du sie gelöst und was würdest Du bei einer zweiten Version verbessern?

  1. Produkt: Gib den Python-Code als Datei oder Text ab.
  2. Dokumentation: Erkläre Ziel, Nutzung, Aufbau und wichtige Funktionen.
  3. Testfälle: Zeige mindestens drei Eingaben mit erwarteten und tatsächlichen Ergebnissen.
  4. Reflexion: Beschreibe Lernfortschritt, Schwierigkeiten und Verbesserungsmöglichkeiten.
  5. Verantwortung: Prüfe, ob Dein Projekt Daten sicher und fair verarbeitet.




OERs zum Thema


Quellen und weiterführende Hinweise

<references />

  1. Python-Dokumentation: Die offizielle Dokumentation erklärt Installation, Tutorial, Sprachreferenz und Standardbibliothek.
  2. Python Package Index: PyPI ist die zentrale Anlaufstelle für viele zusätzliche Python-Pakete.
  3. Wikimedia Commons: Freie Medien wie Logo, Porträt und Screenshots unterstützen das Verständnis des Themas.
  4. PEP 8: Der bekannte Styleguide gibt Empfehlungen für gut lesbaren Python-Code.


Links


aiMOOC-Projekte





Schulfach+

Prüfungsliteratur 2026
Bundesland Bücher Kurzbeschreibung
Baden-Württemberg

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Heimsuchung - Jenny Erpenbeck

Mittlere Reife

  1. Der Markisenmann - Jan Weiler oder Als die Welt uns gehörte - Liz Kessler
  2. Ein Schatten wie ein Leopard - Myron Levoy oder Pampa Blues - Rolf Lappert

Abitur Dorfrichter-Komödie über Wahrheit/Schuld; Roman über einen Ort und deutsche Geschichte. Mittlere Reife Wahllektüren (Roadtrip-Vater-Sohn / Jugendroman im NS-Kontext / Coming-of-age / Provinzroman).

Bayern

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Heimsuchung - Jenny Erpenbeck

Abitur Lustspiel über Machtmissbrauch und Recht; Roman als Zeitschnitt deutscher Geschichte an einem Haus/Grundstück.

Berlin/Brandenburg

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Woyzeck - Georg Büchner
  3. Der Biberpelz - Gerhart Hauptmann
  4. Heimsuchung - Jenny Erpenbeck

Abitur Gerichtskomödie; soziales Drama um Ausbeutung/Armut; Komödie/Satire um Diebstahl und Obrigkeit; Roman über Erinnerungsräume und Umbrüche.

Bremen

Abitur

  1. Nach Mitternacht - Irmgard Keun
  2. Mario und der Zauberer - Thomas Mann
  3. Emilia Galotti - Gotthold Ephraim Lessing oder Miss Sara Sampson - Gotthold Ephraim Lessing

Abitur Roman in der NS-Zeit (Alltag, Anpassung, Angst); Novelle über Verführung/Massenpsychologie; bürgerliche Trauerspiele (Moral, Macht, Stand).

Hamburg

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Das kunstseidene Mädchen - Irmgard Keun

Abitur Justiz-/Machtkritik als Komödie; Großstadtroman der Weimarer Zeit (Rollenbilder, Aufstiegsträume, soziale Realität).

Hessen

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Woyzeck - Georg Büchner
  3. Heimsuchung - Jenny Erpenbeck
  4. Der Prozess - Franz Kafka

Abitur Gerichtskomödie; Fragmentdrama über Gewalt/Entmenschlichung; Erinnerungsroman über deutsche Brüche; moderner Roman über Schuld, Macht und Bürokratie.

Niedersachsen

Abitur

  1. Der zerbrochene Krug - Heinrich von Kleist
  2. Das kunstseidene Mädchen - Irmgard Keun
  3. Die Marquise von O. - Heinrich von Kleist
  4. Über das Marionettentheater - Heinrich von Kleist

Abitur Schwerpunkt auf Drama/Roman sowie Kleist-Prosatext und Essay (Ehre, Gewalt, Unschuld; Ästhetik/„Anmut“).

Nordrhein-Westfalen

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Heimsuchung - Jenny Erpenbeck

Abitur Komödie über Wahrheit und Autorität; Roman als literarische „Geschichtsschichtung“ an einem Ort.

Saarland

Abitur

  1. Heimsuchung - Jenny Erpenbeck
  2. Furor - Lutz Hübner und Sarah Nemitz
  3. Bahnwärter Thiel - Gerhart Hauptmann

Abitur Erinnerungsroman an einem Ort; zeitgenössisches Drama über Eskalation/Populismus; naturalistische Novelle (Pflicht/Überforderung/Abgrund).

Sachsen (berufliches Gymnasium)

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Woyzeck - Georg Büchner
  3. Irrungen, Wirrungen - Theodor Fontane
  4. Der gute Mensch von Sezuan - Bertolt Brecht
  5. Heimsuchung - Jenny Erpenbeck
  6. Der Trafikant - Robert Seethaler

Abitur Mischung aus Klassiker-Drama, sozialem Drama, realistischem Roman, epischem Theater und Gegenwarts-/Erinnerungsroman; zusätzlich Coming-of-age im historischen Kontext.

Sachsen-Anhalt

Abitur

  1. (keine fest benannte landesweite Pflichtlektüre veröffentlicht; Themenfelder)

Abitur Schwerpunktsetzung über Themenfelder (u. a. Literatur um 1900; Sprache in politisch-gesellschaftlichen Kontexten), ohne feste Einzeltitel.

Schleswig-Holstein

Abitur

  1. Der zerbrochne Krug - Heinrich von Kleist
  2. Heimsuchung - Jenny Erpenbeck

Abitur Recht/Gerechtigkeit und historische Tiefenschichten eines Ortes – umgesetzt über Drama und Gegenwartsroman.

Thüringen

Abitur

  1. (keine fest benannte landesweite Pflichtlektüre veröffentlicht; Orientierung am gemeinsamen Aufgabenpool)

Abitur In der Praxis häufig Orientierung am gemeinsamen Aufgabenpool; landesweite Einzeltitel je nach Vorgabe/Handreichung nicht einheitlich ausgewiesen.

Mecklenburg-Vorpommern

Abitur

  1. (Quelle aktuell technisch nicht abrufbar; Beteiligung am gemeinsamen Aufgabenpool bekannt)

Abitur Land beteiligt sich am länderübergreifenden Aufgabenpool; konkrete, veröffentlichte Einzeltitel konnten hier nicht ausgelesen werden.

Rheinland-Pfalz

Abitur

  1. (keine landesweit einheitliche Pflichtlektüre; schulische Auswahl)

Abitur Keine landesweite Einheitsliste; Auswahl kann schul-/kursbezogen erfolgen.




aiMOOCs



aiMOOC Projekte












THE MONKEY DANCE



{{#ev:youtube | https://youtu.be/rFhZlg38Zf8?si=9KdMNZYRkRD81YTo%7C 500 | center}}

The Monkey DanceaiMOOCs

  1. Trust Me It's True: #Verschwörungstheorie #FakeNews
  2. Gregor Samsa Is You: #Kafka #Verwandlung
  3. Who Owns Who: #Musk #Geld
  4. Lump: #Trump #Manipulation
  5. Filth Like You: #Konsum #Heuchelei
  6. Your Poverty Pisses Me Off: #SozialeUngerechtigkeit #Musk
  7. Hello I'm Pump: #Trump #Kapitalismus
  8. Monkey Dance Party: #Lebensfreude
  9. God Hates You Too: #Religionsfanatiker
  10. You You You: #Klimawandel #Klimaleugner
  11. Monkey Free: #Konformität #Macht #Kontrolle
  12. Pure Blood: #Rassismus
  13. Monkey World: #Chaos #Illusion #Manipulation
  14. Uh Uh Uh Poor You: #Kafka #BerichtAkademie #Doppelmoral
  15. The Monkey Dance Song: #Gesellschaftskritik
  16. Will You Be Mine: #Love
  17. Arbeitsheft
  18. And Thanks for Your Meat: #AntiFactoryFarming #AnimalRights #MeatIndustry


© The Monkey Dance on Spotify, YouTube, Amazon, MOOCit, Deezer, ...

{{#ev:youtube | https://youtu.be/Ob7etf9QuBo?si=t_NBA71bWg3Rq3LI%7C 500 | center}}



Text bearbeiten Bild einfügen Video einbetten Interaktive Aufgaben erstellen

<inputbox>

type=create break=no preload=MOOCit Vorlage default= width=30 placeholder= Dein MOOC Titel buttonlabel=MOOC erstellen </inputbox>