bin gerade bei dem Python 2 Kurs der Seite http://www.python-kurs.eu beim Kapitel "Memoisation und Python-Dekorateure".
Memoziation an sich verstehe ich, ich verstehe nur den Aufruf der Funktion nicht.
Code: Alles auswählen
def memoize(f):
memo = {}
def helper(x):
if x not in memo:
memo[x] = f(x)
return memo[x]
return helper
def fib(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fib(n-1) + fib(n-2)
fib = memoize(fib)
print(fib(40))Um herrauszufinden wie der Aufruf Funktioniert habe ich die Funktion ohne Dekorateur versucht aufzurufen.
Mit folgendem Code wird die gewollte Ausgabe erzeugt.
Code: Alles auswählen
print memoize(fib)(40)Mfg
_Mala_Fide_
