Python-Funktion

Funktionen sind Codeblöcke, die nur bei Aufruf ausgeführt werden.

Sie können Daten (als Parameter bezeichnet) an die Funktion übergeben.

Funktionen können Daten als Ergebnis zurückgeben.

Funktion erstellen

In Python wird def Schlüsselwort zum Definieren einer Funktion:

Beispiel

def my_function():
  print("Hello from a function")

Funktion aufrufen

Um eine Funktion aufzurufen, verwenden Sie den Funktionsnamen gefolgt von Klammern:

Beispiel

def my_function():
  print("Hello from a function")
my_function()

Führen Sie ein Beispiel aus

Parameter

Informationen können als Parameter an die Funktion übergeben werden.

Parameter werden in Klammern nach dem Funktionsnamen angegeben. Sie können so viele Parameter hinzufügen, wie Sie möchten, indem Sie sie durch Kommas trennen.

Das folgende Beispiel hat eine Funktion mit Parameter (fname). Wenn wir diese Funktion aufrufen, übergeben wir einen Namen und verwenden wir ihn im Inneren der Funktion, um den Vornamen zu drucken:

Beispiel

def my_function(fname):
  print(fname + " Gates")
my_function("Bill")
my_function("Steve")
my_function("Elon")

Führen Sie ein Beispiel aus

Standardparameterwerte

Das folgende Beispiel zeigt, wie man Standardparameterwerte verwendet.

Wenn wir eine Funktion ohne Parameter aufgerufen haben, dann wird der Standardwert verwendet:

Beispiel

def my_function(country = "China"):
  print("Ich komme aus " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

Führen Sie ein Beispiel aus

Mit Liste übergeben

Die Parameter, die Sie an die Funktion senden, können jede Datenart sein (Zeichenfolge, Zahl, Liste, Dictionary usw.) und werden im Funktionsbereich als gleiche Datenart betrachtet.

Zum Beispiel, wenn Sie eine Liste als Parameter senden, bleibt sie beim Erreichen der Funktion noch eine Liste (Liste):

Beispiel

def my_function(food):
  for x in food:
    print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)

Führen Sie ein Beispiel aus

Rückgabewert

Um einen Wert von einer Funktion zurückzugeben, verwenden Sie return Anweisung:

Beispiel

def my_function(x):
  return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))

Führen Sie ein Beispiel aus

Schlüsselwortparameter

Sie können auch die Syntax key = value verwenden, um Parameter zu senden.

Die Reihenfolge der Parameter ist irrelevant.

Beispiel

def my_function(child3, child2, child1):
  print("Der jüngste Kind ist " + child3)
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")

Führen Sie ein Beispiel aus

In der Python-Dokumentation wird der Begriff "Schlüsselwortparameter" oft als kwargs abgekürzt.

Beliebige Parameter

Wenn Sie nicht wissen, wie viele Parameter Sie Ihrer Funktion übergeben möchten, fügen Sie vor dem Parameternamen in der Funktionsdefinition * hinzu.

Dadurch wird die Funktion ein Parameter-Tupel empfangen und kann entsprechend auf die Elemente zugreifen:

Beispiel

Wenn die Anzahl der Parameter unbekannt ist, fügen Sie vor dem Parameternamen * hinzu:

def my_function(*kids):
  print("Der jüngste Kind ist " + kids[2])
my_function("Phoebe", "Jennifer", "Rory")

Führen Sie ein Beispiel aus

pass-Anweisung

Die Definition der Funktion darf nicht leer sein, aber wenn Sie aus irgendeinem Grund eine leere Funktionsdefinition geschrieben haben, verwenden Sie den Befehl pass, um Fehler zu vermeiden.

Beispiel

def myfunction:
  pass

Führen Sie ein Beispiel aus

Rekursion

Python akzeptiert auch rekursiven Funktionsaufruf, was bedeutet, dass definierte Funktionen sich selbst aufrufen können.

Rekursion ist ein gängiges mathematisches und programmierendes Konzept. Es bedeutet, dass eine Funktion sich selbst aufruft. Der Vorteil davon ist, dass Daten in einer Schleife aufgerufen werden können, um ein Ergebnis zu erzielen.

Entwickler sollten sehr vorsichtig mit Rekursion umgehen, da es leicht sein kann, eine nie endende oder eine Funktion zu schreiben, die zu viel Speicher oder Prozessorkapazität verbraucht. Aber nach richtiger Implementierung kann Rekursion eine sehr effektive und mathematisch elegante Programmiermethode sein.

In diesem Beispiel:tri_recursion() ist eine Funktion, die sich selbst aufruft ("recurse"). Wir verwenden die Variable k als Daten und verringern sie bei jeder Rekursion um (-1). Die Rekursion endet, wenn die Bedingung nicht größer als 0 ist (z.B. wenn sie 0 ist).

Für neue Entwickler kann es einige Zeit dauern, den Arbeitsmechanismus zu verstehen, der beste Weg ist es, es zu testen und zu ändern.

Beispiel

Beispiel für Rekursion:

def tri_recursion(k):
  if(k>0):
    result = k+tri_recursion(k-1)
    print(result)
  else:
    result = 0
  return result
print("\n\nRecursion Beispiel Ergebnisse")
tri_recursion(6)

Führen Sie ein Beispiel aus