Python-Funktion
- Vorherige Seite Python-For-Schleife
- Nächste Seite Python-Lambda
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()
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")
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")
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)
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))
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")
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")
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
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)
- Vorherige Seite Python-For-Schleife
- Nächste Seite Python-Lambda