Funktionen sind grundlegende Bausteine jeder Programmiersprache, und Python bildet hier keine Ausnahme. Sie ermöglichen es Ihnen, Code in wiederverwendbare, überschaubare Blöcke zu organisieren, was die Lesbarkeit, Wartbarkeit und Effizienz verbessert. Dieses Tutorial führt Sie durch die Kernkonzepte von Python-Funktionen.
Inhaltsverzeichnis
- Was ist eine Python-Funktion?
- Definieren von Python-Funktionen
- Funktionsbeispiele
- Aufrufen von Funktionen
- Die
return
-Anweisung - Variablenbereich und Lebensdauer
- Arten von Funktionen
Was ist eine Python-Funktion?
Eine Python-Funktion ist ein in sich geschlossener Codeblock, der dazu entwickelt wurde, eine bestimmte Aufgabe auszuführen. Es ist eine Möglichkeit, Logik zu kapseln, wodurch Ihre Programme modularer und leichter verständlich werden. Funktionen fördern die Wiederverwendbarkeit von Code; anstatt denselben Code mehrmals zu schreiben, schreiben Sie ihn einmal und rufen ihn bei Bedarf auf.
Definieren von Python-Funktionen
Sie definieren eine Funktion mit dem Schlüsselwort def
, gefolgt vom Funktionsnamen, Klammern ()
und einem Doppelpunkt :
. Der Funktionskörper, eingerückt darunter, enthält den auszuführenden Code. Parameter (Eingaben) werden in den Klammern angegeben.
def greet(name):
"""Diese Funktion grüßt die Person, die als Parameter übergeben wird."""
print(f"Hallo, {name}!")
def add(x, y):
"""Diese Funktion addiert zwei Zahlen und gibt die Summe zurück."""
return x + y
Schlüsselelemente:
def
: Das Schlüsselwort, das eine Funktionsdefinition angibt.- Funktionsname: Ein beschreibender Name, der den Python-Benennungskonventionen folgt (Kleinbuchstaben mit Unterstrichen).
- Parameter: Variablen innerhalb der Klammern, die Eingabewerte erhalten.
- Docstring: Eine Zeichenkette, die in dreifachen Anführungszeichen eingeschlossen ist (
"""Docstring hier einfügen"""
) und den Zweck der Funktion erklärt. Wesentlich für die Lesbarkeit. - Funktionskörper: Der eingerückte Codeblock.
return
-Anweisung (optional): Gibt den Wert an, der von der Funktion zurückgegeben wird.
Funktionsbeispiele
Hier sind einige Beispiele, die verschiedene Aspekte der Funktionsdefinition und -verwendung veranschaulichen:
def calculate_area(length, width):
"""Berechnet die Fläche eines Rechtecks."""
return length * width
area = calculate_area(5, 10) # Funktionsaufruf
print(f"Die Fläche beträgt: {area}") # Ausgabe: Die Fläche beträgt: 50
def factorial(n):
"""Berechnet die Fakultät einer nicht-negativen ganzen Zahl."""
if n == 0:
return 1
else:
return n * factorial(n-1) #Rekursive Funktion
print(factorial(5)) # Ausgabe: 120
Aufrufen von Funktionen
Um eine Funktion zu verwenden, rufen Sie sie mit ihrem Namen gefolgt von Klammern auf und geben alle erforderlichen Argumente (Werte für die Parameter) an.
greet("Alice") # Ausgabe: Hallo, Alice!
sum_result = add(5, 3)
print(sum_result) # Ausgabe: 8
Die return
-Anweisung
Die return
-Anweisung gibt den Wert an, den eine Funktion an den Aufrufer zurückgibt. Wenn sie weggelassen wird, gibt die Funktion implizit None
zurück.
def no_return():
print("Diese Funktion gibt keinen Wert zurück.")
def with_return():
return 42
print(no_return()) # Ausgabe: Diese Funktion gibt keinen Wert zurück. None
print(with_return()) # Ausgabe: 42
Variablenbereich und Lebensdauer
Variablen, die innerhalb einer Funktion definiert sind, haben einen lokalen Gültigkeitsbereich – sie sind nur innerhalb dieser Funktion zugänglich. Variablen, die außerhalb von Funktionen definiert sind, haben einen globalen Gültigkeitsbereich – sie sind im gesamten Programm zugänglich. Die Lebensdauer einer Variablen ist die Dauer, die sie im Speicher existiert; lokale Variablen existieren nur während die Funktion ausgeführt wird.
Arten von Funktionen
Python unterstützt verschiedene Funktionstypen:
- Eingebaute Funktionen: Vordefinierte Funktionen wie
print()
,len()
,input()
. - Benutzerdefinierte Funktionen: Funktionen, die von Programmierern erstellt werden.
- Rekursive Funktionen: Funktionen, die sich selbst aufrufen (wie das obige
factorial
-Beispiel). - Lambda-Funktionen (anonyme Funktionen): Kleine, unbenannte Funktionen, die mit dem Schlüsselwort
lambda
definiert werden und oft für kurze Operationen verwendet werden.
Dieses Tutorial vermittelt ein grundlegendes Verständnis von Python-Funktionen. Eine weitere Auseinandersetzung mit fortgeschrittenen Themen wie Standardargumenten, Schlüsselwortargumenten, Argumenten variabler Länge (*args
und **kwargs
) und Dekoratoren wird Ihre Python-Programmierkenntnisse erheblich verbessern.