Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Help... python decorator
#1
I have a python function and a decorator that works just fine and it looks like this:
def fun_cache(function): 
   memo = {} 
   def wrapper(*args): 
       if args in memo: 
           return memo[args] 
       else: 
           rv = function(*args) 
           memo[args] = rv 
           return rv 
   return wrapper 


@fun_cache 
def fib(n): 
   if (n < 2): return 1 
   else: return fib(n-1) + fib(n-2) 

assert(fib(0) == 1) 
assert(fib(3) == 3) 
assert(fib(6) == 13) 
assert(fib(10) == 89) 
assert(fib(30) == 1346269) 
assert(fib(100) == 573147844013817084101) 
assert(fib(400) == 284812298108489611757988937681460995615380088782304890986477195645969271404032323901) 
Now I will like to call the @fun_cache decorator like this :
@fun_cache(memo={}) 
def fib(n): 
   if (n < 2): return 1 
   else: return fib(n-1) + fib(n-2) 
Any help?

***SOLVED***

I was able to figure it out after reading some other forums. I wrote a "fun_cache" function accepting a cache argument.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  the order of running code in a decorator function akbarza 2 519 Nov-10-2023, 08:09 AM
Last Post: akbarza
  Curious about decorator syntax rjdegraff42 14 2,084 May-03-2023, 01:21 PM
Last Post: rjdegraff42
  ABC Module and @property decorator, Pythonic Way? muzikman 21 5,650 Aug-18-2021, 06:08 PM
Last Post: muzikman
  decorator adamfairhall 0 1,554 Aug-18-2020, 08:38 AM
Last Post: adamfairhall
  Use of @property decorator ruy 16 6,532 Jun-09-2020, 05:29 PM
Last Post: buran
  Decorator staticmethod Use Cases Devarishi 3 2,642 May-20-2019, 04:27 AM
Last Post: Devarishi
  How can we override decorator? bhojendra 2 9,355 May-12-2019, 11:15 PM
Last Post: ichabod801
  Decorator question Dan741 1 2,383 Nov-14-2018, 10:05 AM
Last Post: wavic
  Decorator toy code throws syntax errors kevinxhi 3 3,558 Sep-04-2017, 03:01 AM
Last Post: kevinxhi
  accessing variables from a decorator ashwin 1 3,105 Jun-30-2017, 04:11 PM
Last Post: nilamo

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020