Stefan Franke

Fundamentale Ideen der Informatik

Programmiersprachen

Bildbeschreibung

🧭 Übersicht

  • Funktionen
  • Objektorientierung

Funktionen in Python

Funktionen in Python

  • Wiederverwendbare Code-Blöcke
  • Definieren mit def
  • Aufrufen mit Funktionsnamen

def hallo():
    print("Hallo, Welt!")

hallo()  # Ausgabe: Hallo, Welt!
    

Parameter

  • Zusätzliche Eingaben
  • Definition in Klammern
  • Beispiel: zwei Zahlen addieren

def addiere(a, b):
    return a + b

ergebnis = addiere(3, 5)
print(ergebnis)  # Ausgabe: 8
    

Rückgabewerte

  • Wert mit return zurückgeben
  • Speicherbar in Variablen
  • Beispiel: Quadrat berechnen

def quadrat(x):
    return x * x

print(quadrat(4))  # Ausgabe: 16
    

Standardwerte

  • Parameter mit Standardwerten
  • Optional beim Aufruf
  • Beispiel: Begrüßung

def begruessen(name="Gast"):
    print(f"Hallo, {name}!")

begruessen()         # Ausgabe: Hallo, Gast!
begruessen("Stefan") # Ausgabe: Hallo, Stefan!
    

Objektorientierung 🧩

Die Funktion der Objektorientierung 🛠️

  • Organisation von Code: Strukturiert und wiederverwendbar
  • Modellierung der realen Welt: Objekte spiegeln Dinge und ihre Eigenschaften wider
  • Vermeidung von Redundanz: Einmal definierte Klassen für viele Objekte nutzbar

Vorteile von Objektorientierung ✅

  • Wiederverwendbarkeit: Klassen können in verschiedenen Projekten genutzt werden
  • Flexibilität: Leichte Anpassung von Verhalten durch Vererbung
  • Lesbarkeit: Klare Struktur erleichtert das Verständnis
  • Fehlerreduzierung: Modularer Aufbau isoliert Probleme

Hinblick auf GUI oder Spiele 🎮

  • OOP eignet sich für komplexe Projekte: Übersichtlich und leicht erweiterbar
  • Objekte wie Spieler, Gegner oder Level: Einfach zu verwalten
  • Wichtige Grundlage: Für Frameworks wie Pygame
Objektorientierte Programmierung

Bildquelle: Inztitut

Objektorientierung am Beispiel Tiere 🧩

Bild 5

Objektorientierung am Beispiel Tiere 🧩

  • Klasse Tier = Bauplan: Beschreibt allgemeine Eigenschaften und Aktionen von Tieren
  • Objekt = Konkretes Tier: z. B. Bello (Hund), Minka (Katze)
  • Attribute = Eigenschaften: Name, Art, Alter
  • Methoden = Aktionen: z. B. "fressen(futter)"

Klasse und Objekte

Klasse Tier

  • Attribute: Name, Art, Alter
  • Methode: fressen(futter)

class Tier:
    def __init__(self, name, art, alter):
        self.name = name
        self.art = art
        self.alter = alter

    def fressen(self, futter):
        print(f"{self.name} ({self.art}) frisst {futter}.")
      

Objekte

  • Bello: Hund, 5 Jahre
  • Minka: Katze, 3 Jahre

bello = Tier("Bello", "Hund", 5)
minka = Tier("Minka", "Katze", 3)

bello.fressen("Knochen")  # Ausgabe: Bello (Hund) frisst Knochen.
minka.fressen("Fisch")    # Ausgabe: Minka (Katze) frisst Fisch.
      

Eigenschaften von Objekten

  • Jedes Objekt hat eigene Werte für Attribute
  • Attribute können geändert werden:

bello.name = "Rex"
print(bello.name)  # Ausgabe: Rex
    
Name Art Alter
Bello Hund 5
Minka Katze 3

Methoden von Objekten

  • Methoden führen Aktionen für Objekte aus
  • Beispiel: fressen(futter)
  • Aufruf erfolgt über das Objekt

minka.fressen("Fisch")  # Ausgabe: Minka (Katze) frisst Fisch
    

Zusammenfassung und Interaktivität

  • Klassen: Baupläne
  • Objekte: Tiere mit individuellen Eigenschaften
  • Methoden: Aktionen der Objekte

Quiz: Welches Tier frisst was? 🐾

  • Frage: Welches Tier frisst Fisch?
  • Antwort: Minka
  • Frage: Welches Tier frisst Knochen?
  • Antwort: Bello

konkretes Programmbeispiel-Beispiel


Pawfect Match: Die Dating-App für Hunde 🐶❤️

Hier herunterladen: pawfect.py