7.1 Erstellen von Funktionen
In Python ist das Erstellen von Funktionen ein grundlegender Aspekt der Programmierung, der es dem Code ermöglicht, modularer, wiederverwendbarer und lesbarer zu sein. Funktionen in Python werden mit dem Schlüsselwort def
definiert, gefolgt von einem Funktionsnamen und runden Klammern mit Parametern.
Du kannst dir eine Funktion immer als eine Gruppe von Befehlen vorstellen, die zusammengefasst und mit einem Namen versehen wurden. Die allgemeine Form der Funktionsdeklaration sieht folgendermaßen aus:
def name(parameters):
command1
command2
commandN
Eine einfachste Funktion in Python könnte so aussehen:
def greet():
print("Hello, World!")
Der Aufruf einer Funktion erfolgt, indem ihr Name mit runden Klammern geschrieben wird:
greet() # Gibt aus: Hello, World!
Der Funktionsaufruf ist gleichbedeutend damit, ihren internen Code an der Stelle des Aufrufs zu schreiben. Statt denselben Code immer wieder zu schreiben, kann man ihn in separate Blöcke auslagern und ihnen einen Namen geben.
7.2 Übergabe von Argumenten an Funktionen
Das Arbeiten mit Funktionen wäre nicht so interessant, wenn sie die ganze Zeit dasselbe tun würden — einfach ein benannter Befehlsblock und das war's. Stattdessen wurden Funktionen sofort mit Parametern versehen — Variablen, durch die verschiedene Werte an die Funktion übergeben werden können.
Variablen innerhalb einer Funktion werden als Parameter der Funktion bezeichnet. Und die Werte, die bei einem bestimmten Aufruf an sie übergeben werden, - die Argumente der Funktion. Die Parameter der Funktion erhalten einfach die Werte der Argumente.
def greet(name):
print("Hello,", name)
greet("Alice") # Gibt aus: Hello, Alice!
Beispiel einer Funktion mit zwei Argumenten:
def print_sum(a, b):
print(f"Summe von {a} und {b} ist {a + b}")
print_sum(10, 15) # Gibt aus: Summe von 10 und 15 ist 25
Natürlich können als Argumente auch komplette Ausdrücke übergeben werden:
def print_sum(a, b):
print(f"Summe von {a} und {b} ist {a + b}")
print_sum(10*10-123, 15//2) # Gibt aus: Summe von -23 und 7 ist -16
Nützlich! Für C/C++-Liebhaber — alle Variablen in Python — sind Referenzen aus der Sicht von C++. Funktionsparameter ebenfalls. Bei der Zuweisung wird der Wert niemals kopiert oder dupliziert — es wird immer nur eine Referenz zugewiesen.
7.3 Funktion — ist ein Objekt
In Python sind Funktionen Erstklassobjekte, was bedeutet, dass sie wie alle anderen Objekte verwendet werden können. Dies gibt Entwicklern leistungsstarke Werkzeuge zur Erstellung flexibler Softwarelösungen.
Funktionen als Objekte
Als Erstklassobjekte können Funktionen in Python:
- Einer Variablen zugewiesen werden
- Als Argumente an andere Funktionen übergeben werden
- Von anderen Funktionen zurückgegeben werden
- In Datenstrukturen wie Listen, Wörterbüchern eingeschlossen werden
Beispiele:
def shout(text):
return text.upper()
yell = shout
def greet(func):
greeting = func("Hello") # Funktion aufrufen
print(greeting)
greet(shout)
In Zukunft werden wir noch oft auf dieses Thema zurückkommen, aber merkt euch erst einmal — alles in Python ist ein Objekt. Funktionen, Klassen, Fehler, Listen, Module — alles.
GO TO FULL VERSION