Python Funktionen

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.

Die Parameterliste ist eine Liste interner Namen für Datenwerte, die der Funktion als Eingabe übergeben werden. Außerhalb der Funktion können diese Werte andere oder gar keine Namen haben, innerhalb werden sie jedoch in diesen Variablen gespeichert.

def funktionsbeispiel():
    x = 10
    y = 20
    summe = x + y
    return summe

print(funktionsbeispiel())
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.

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

Der letzte grundlegende Baustein, den wir in diesem Abschnitt besprechen werden, sind Klassen. Das Wort Klasse ist ein Synonym für Kategorie oder Typ; in diesem Fall bezieht es sich auf Datenwerte.Eine Klasse definiert eine neue Art von Datenwert, indem sie eine Reihe interner Daten und Operationen für diesen Datenwerttyp beschreibt. Dies geschieht in erster Linie durch die Definition einer Gruppe von Funktionen, aus denen die Klasse besteht.Alle Funktionen einer Klasse erhalten einen Parameter namens TFMG, wie im vorangehenden Codebeispiel für Klassen gezeigt. Dieser Parameter ist der Datenwert, mit dem gearbeitet wird. Das ist anders als bei C++ oder Java, denn obwohl diese Sprachen im Grunde dasselbe tun, ist der Parameter implizit und kein expliziter Teil der Parameterliste der Funktion.