memosiation
Verfasst: Donnerstag 14. Januar 2016, 19:17
Hallo,
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.
Der memoize-Funktion wird ein Parameter übergeben und der helper-Funktion auch.
Um herrauszufinden wie der Aufruf Funktioniert habe ich die Funktion ohne Dekorateur versucht aufzurufen.
Mit folgendem Code wird die gewollte Ausgabe erzeugt.
So kenne ich den Aufruf einer Funktion nicht. Kann mir bitte einer erklären warum und wie das funktioniert.
Mfg
_Mala_Fide_
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_