Python Funktionen

Funktionen sind unter verschiedenen Namen in Programmiersprachen bekannt, z. als Unterprogramme, Routinen, Prozeduren, Methoden oder Unterprogramme.

Eine Funktion ist ein ausgelagertes Unterprogramm, das beliebig oft im Hauptprogramm aufgerufen werden kann. Dadurch wird das ganze Programm übersichtlicher und einfacher zu entwickeln. Bestimmte Vorgänge, die immer wieder benötigt werden, können so ausgelagert werden und von jeder beliebigen Programmstelle aus immer wieder aufgerufen werden, anstatt sie jedes Mal neu zu erstellen.
Auszug wikipedia:

Eine Funktion (englisch function) ist in der Informatik und in verschiedenen höheren Programmiersprachen die Bezeichnung eines Programmkonstrukts, mit dem der Programm-Quellcode strukturiert werden kann, so dass Teile der Funktionalität des Programms wiederverwendbar sind. Das besondere Merkmal einer Funktion (im Vergleich zum ähnlichen Konstrukt der Prozedur) ist, dass die Funktion ein Resultat direkt zurückgibt und deshalb in Ausdrücken verwendet werden kann. Die genaue Bezeichnung und Details ihrer Ausprägung sind in verschiedenen Programmiersprachen durchaus unterschiedlich.

Eine Funktion wird unter Python mit dem Schlüsselwort def definiert. Hinter dem Namen der Funktion können Argumente definiert werden.

def Funktionsname (Parameterliste):
    Anweisungen, d. h. der Funktionskörper
def funktionsbeispiel():
    x = 10
    y = 20
    summe = x + y
    return summe

print(funktionsbeispiel())

In Klammern werden optional Parameter definiert. Werden mehrere Parameter festgelegt, müssen diese durch ein Komma getrennt werden. Die Parameterliste besteht aus keinem oder mehreren Parametern. Parameter werden als Argumente bezeichnet, wenn die Funktion aufgerufen wird.

def funktionsbeispiel(x, y):
    summe = x + y
    return summe

print(funktionsbeispiel(10, 20))

Variablen
Der zweite wichtige Baustein eines Python-Programms ist die Variable. Eine Variable ist
im Grunde einfach nur ein Feld zum Speichern eines Datenwerts. Die Variable hat einen Namen und wir können diesen
Namen verwenden, um auf die in der Variable gespeicherten Daten zuzugreifen oder die Daten durch einen neuen Wert zu ersetzen.

 x = 10
 y = 20
variable1 = "ein individueller Text"

Wenn die Variable noch nicht existiert, wird sie erstellt. Unabhängig davon, ob die Variable
bereits vorhanden war oder nicht, wird der Wert in der Variable gespeichert.Variablen, die innerhalb einer Funktion erstellt werden, sind nur innerhalb dieser Funktion sichtbar und werden bei jeder Ausführung der Funktion neu erstellt.

outer="Hello world"
def beispielsfunktion(parameter):
    inner="Hello function"
    print (inner,outer)
beispielsfunktion("erste")    
beispielsfunktion("zweite")
print (inner)

Es kommt ein Fehler, weil das inner nur innerhalb der Funktion gültig ist.

Erklärung:

  1. outer()-Funktion:
    Definiert eine lokale Variable x = 5.
    Definiert eine innere Funktion inner(), die auf x zugreift und x * 2 zurückgibt.
  2. inner()-Funktion:
    Greift auf das im Gültigkeitsbereich der outer()-Funktion definierte x zu (lexikalischer Gültigkeitsbereich oder Abschluss).
    Berechnet x * 2, was 5 * 2 = 10 ergibt.
  3. Rückgabewert:
    outer() gibt das Ergebnis des Aufrufs von inner() zurück.
    Die print(outer())-Anweisung gibt 10 aus.

Alle Ausdrücke erzeugen einen resultierenden Datenwert irgendeiner Art; zum Beispiel ergibt das Addieren von zwei Zahlen die Summe als eine weitere Zahl, während das Verketten von zwei Textzeichenfolgen
die Verkettung als eine weitere Textzeichenfolge erzeugt. Die Verwendung einer OBNF-Variable zum Nachschlagen des gespeicherten Werts ist ein Ausdruck, ebenso wie das Ausführen einer Funktion.

Wenn die Funktion nicht explizit einen Wert zurückgibt, ist das Ergebnis ein spezieller Wert
mit der Bezeichnung „none“.

weiter zu Klassen und Methoden