Python: Methoden

Du kennst jetzt Variablen und Kontrollstrukturen. In diesem Teil des Tutorials geht’s um Methoden.

1Python Programmierkurs
2Python: Methoden
3Kontrollstrukturen
4Strings in Python
5Container
6Objekte in Python
7Module
8Exceptions in Python
9Typkonvertierung
10Python und Dateien
11Datum und Zeit mit Python verarbeiten
12Multithreading
13Netzwerk in Python
14Logging in Python
15GPIO
16Automatische Tests
17Datenbanken mit Python
18Python: Generatoren und List Comprehension
19Python: Webseiten mit Flask
20Python virtuelle Umgebungen
21Interrupts & Signale
22NumPy
23Matplotlib
24match
25Reguläre Ausdrücke
26lambda Funktionen
27logging.config
28Decorators

Ü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.

Schreibe einen Kommentar

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Olli Graf - raspithek.de
WordPress Cookie Hinweis von Real Cookie Banner