Du kennst jetzt Variablen und Kontrollstrukturen. In diesem Teil des Tutorials geht’s um Methoden.
Über Methoden
Wir wollen uns die Arbeit natürlich so einfach wie möglich machen und uns Tipparbeit ersparen.
Nimm einmal an, du möchtest den Flächeninhalt eines Kreises mit dem Radius r
berechnen:
PI = 3.1415
r=10
a = PI * r*r
print(f'Der Flächeninhalt beträgt: {a}')
Ignoriere erstmal die genaue Syntax des print()
Kommandos, darauf gehe ich später nochmal ein. In Kürze, die sog. f-Strings setzen in einen String eine Variable ein (hier a
).
Aus der Schulmathematik wissen wir, die Formel für die Berechnung der Kreisfläche ist π
*r2.
Das Hauptproblem dieser Schreibweise ist, du musst die Berechnungsformel jedes mal wiederholen, wenn du den Flächeninhalt berechnen willst. Um dies zu vereinfachen, verlagern wir die Formel in eine Methode.
PI = 3.1415
r=10
def berechne_flaecheninhalt():
a = PI * r**2
return a
flaeche = berechne_flaecheninhalt()
print(f"Der Flächeninhalt beträgt: {flaeche}")
Mit return
wird der berechnete Wert am Ende der Methode wieder zurückgeben und der Programmablauf geht an der Aufrufstelle damit weiter, dass der Return wert der Variable flaeche
zugewiesen wird.
Nebenher siehst du in der Methode einen neuen Operator zur Berechnung der Quadratzahl: r**2
ist äquivalent zur mathematischen Schreibweise r2
Unschön ist jetzt aber noch, dass die Methode mit Variablen rechnet, die im Programmcode fest deklariert sind. Das lösen wir mit den:
Funktionsparameter
Ein Parameter ist ein Wert, der von außen in die Methode hingegeben wird.
PI = 3.1415
def berechne_flaecheninhalt(r):
a = PI * r**2
return a
flaeche = berechne_flaecheninhalt(10)
print(f"Der Flächeninhalt beträgt: {flaeche}")
r ist jetzt ein Methodenparameter. Die Variable ist nur innerhalb der Methode bekannt und ist nach den return
wieder gelöscht.Der Wert für r
wird beim Aufruf der Methode angegeben( hier 10
). Du kannst einer Methode mehrere Parameter übergeben, diese werden dann mittels Kommata voneinander getrennt.
imports
Wir definieren die Konstante Pi momentan selbst. Dies ist aber völlig unnötig, da Python diese bereits zur Verfügung stellt. Zeit für dich, das import
Statement kennenzulernen:
import math
#PI = 3.1415
def berechne_flaecheninhalt(r):
a = math.pi * r**2
return a
flaeche = berechne_flaecheninhalt(10)
print(f"Der Flächeninhalt beträgt: {flaeche}")
Mit dem import
in der ersten Zeile wird das Paket math importiert. Dort ist math.pi
als Konstante definiert (sehr viel genauer, als wir das bisher getan haben).
Unsere bisherige Konstante habe ich jetzt auskommentiert und math.pi
in die Flächenformel eingesetzt.
Kommentare
Kommentare dienen dazu, zwischenzeitlich nicht verwendeten Programmcode stillzulegen, um ihn später wieder zu reaktivieren und den Code für andere besser zu erläutern.
Python kennt nur Zeilenkommentare, während andere Programmiersprachen auch Blockkommentare zu lassen.
Jede Zeile, die mit einem #
beginnen, werden vom Python-Interpreter überlesen. Du kannst eigentlich alles in so einen Kommentar hineinschreiben:
#math Package importieren
import math
#PI = 3.1415
# berechnet den Flächeninhalt eines Kreises
# mit dem Radius r
# Parameter: r - Radius des Kreises
def berechne_flaecheninhalt(r):
a = math.pi * r**2
return a
flaeche = berechne_flaecheninhalt(10)
print(f"Der Flächeninhalt beträgt: {flaeche}")
Du merkst, mit dem erläuterten Kommentar, ist jedem sehr viel schneller verständlich, was die Methode tut.
Auf Methoden kommen wir nochmal zurück, wenn es um die Objektorientierung geht. Mehr zu imports gibt’s im Kapitel über Module. Im nächsten Kapitel wollen wir Strings mal genauer betrachten.