Rekursive Funktionen sind Funktionen, die sich selbst nennen in ihrer Definition . Weil eine rekursive Funktion ruft sich selbst auf seine Aufgabe zu erfüllen , kann es Jobs, die identische Arbeit auf mehrere Datenobjekte enthalten einfacher zu konzipieren, zu planen und zu schreiben. Allerdings kann Rekursion System -intensive oder am Ende eine Überlastung des Systems , wenn die Rekursion nicht aufhört . Schreiben rekursive Funktionen in Python ist ähnlich wie mit rekursiven Funktionen in anderen Programmiersprachen , mit den gleichen Vorteilen und Tücken. Beispiel Recursion  
 Rekursive Funktionen nennen sich selbst als Teil ihrer Definition . Zum Beispiel: 
 
 >>> def Faktor (x): 
 
 . . . Faktor (x) 
 
 Diese Funktion wird sich weiterhin aufrufen, bis das System nicht mehr zu halten, kann die Menge der Funktion ruft gemacht ( Funktionsaufrufe im Speicher wie alle anderen Daten befinden) . Allerdings erleichtert dies, wie eine rekursive Funktionen konzeptionell arbeitet : Eine Funktion (Faktor) nennt sich (Faktor (x)) als Teil ihrer Definition 
 Basis-Szenarios 
 
 . Eine rekursive Funktion muss , was man als "Basis Fällen " oder Bedingungen , die die Funktion zu sagen, seine Rekursion stoppen. Dies könnte eine Bedingung , dass die Funktion könnte als Teil seiner Arbeit zufrieden gewesen sein . Als klassisches Beispiel findet das Fakultäts-Funktion die Fakultät einer Zahl n ( n! oder n * n- 1 * n-2 ... 0) . So die Fakultät 3 würden bis 3 * 2 * 1 = 6 zu berechnen. Ein Programmierer könnte mit der Zahl 0 als Basis bei dieser Funktion : 
 
 >>> if x == 0: 
 
 . . . zurück 1 
 Recursion 
 
 Wenn die Fakultäts-Funktion hat jetzt einen Basisfall ( x == 0) , dann Rekursion wird in diesem Zustand zu beenden. 
 
 >>> Sonst : 
 
 So wäre es nur eine Frage der Rekursion die Fakultät Betrieb durchzuführen. . . return x * Faktor ( x - 1) german 
 Wenn x nicht gleich 0 ist, dann ist die Rekursion beginnen /fortsetzen. Die return-Anweisung wird als " Faktor " und warten . Jeder neue Aufruf der Funktion wird das gleiche tun , fordern und zu warten, bis der letzte Aufruf der Funktion ( wenn x == 0) 1 zurück. Dann wird jeder vorherigen Aufruf der Anweisung return ( multiplizieren Sie die zurückgegebene Wert von "factor" von x ), bis die Fakultät zurückgegeben beenden. 
 Python Recursion 
 
 Rekursion in jede Sprache kann am Ende in einer Endlosschleife : das heißt, eine rekursive Struktur , die niemals endet , bis das System stoppt sie wegen des Mangels an Ressourcen. Python hält diese "unendlich" Rekursion bei 1.000 Anrufe ( so eine Funktion kann sich in einem 1000 - Instanz langen Kette rekursiv aufrufen, bevor Python stoppt den Prozess ) . Der Programmierer kann diesen Wert durch die System-Bibliotheken zu ändern, wie in diesem Beispiel : 
 
 >>> import sys >>> 
 
 sys.setrecursionlimit (2000) 
 
 jedoch an diesem Punkt Programmierer könnte sich fragen, ob Rekursion ist die beste Lösung für das Problem.