example-code-2e/09-closure-deco/fibo_demo_cache.py

16 lines
235 B
Python
Raw Normal View History

2020-06-11 19:58:15 +02:00
import functools
from clockdeco import clock
2021-02-15 00:28:07 +01:00
@functools.cache # <1>
2020-06-11 19:58:15 +02:00
@clock # <2>
def fibonacci(n):
if n < 2:
return n
2021-06-26 18:42:28 +02:00
return fibonacci(n - 2) + fibonacci(n - 1)
2020-06-11 19:58:15 +02:00
if __name__ == '__main__':
print(fibonacci(6))