Heim >Backend-Entwicklung >Python-Tutorial >rekursive Python-Funktion

rekursive Python-Funktion

高洛峰
高洛峰Original
2016-11-16 10:51:171651Durchsuche

Eine Funktion ist wie eine Box, die einige verwandte Funktionen zum Aufrufen in eine Funktion packt. Innerhalb einer Funktion können Sie andere Funktionen oder die Funktion selbst aufrufen.
Wenn sich eine Funktion intern aufruft, handelt es sich um eine rekursive Funktion.
Nehmen wir ein einfaches Beispiel.
In der Mathematik kennen wir die Fakultät von 100, 100!=1009998...321.
Zerlegt, 100!=10099!,99!=9998!,98!=98*97!...
Dann definieren wir eine Funktion zur Berechnung der Fakultät:

def fact(n):
    return n*fact(n-1)

Die obige Funktion scheint eine Zahl zu sein, die ständig mit einer Zahl kleiner als 1 multipliziert wird, aber nicht stoppt. Daher müssen wir die obige Funktion so ändern, dass sie nach der Berechnung anhalten kann, wenn n = 1 ist.

def fact(n):
    if n==0:
        return 1
    else:
        return n*fact(n-1)

Rekursive Funktionen können auch in einer Schleife implementiert werden. Die rekursive Funktionslogik ist jedoch relativ einfach. Bei der Verwendung rekursiver Funktionen sollte jedoch darauf geachtet werden, einen Stapelüberlauf durch zu viele rekursive Funktionsaufrufe zu verhindern.


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn