灵活的装饰器

Posted 飞翔的浮士德

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了灵活的装饰器相关的知识,希望对你有一定的参考价值。

# 如果fib函数执行次数过多时,通过装饰器来改进效率
# 我们可以用字典来保存计算过的结果,防止重复

def
memoize(f): memo = {} def helper(x): if x not in memo: memo[x] = f(x) return memo[x] return helper @memoize def fib(n): if n == 0: return 0 elif n == 1: return 1 else: return fib(n-1) + fib(n-2) def fib_seq(n): res = [] if n > 0: res.extend(fib_seq(n-1)) res.append(fib(n)) return res fib_seq(30)

 

以上是关于灵活的装饰器的主要内容,如果未能解决你的问题,请参考以下文章

小小装饰器

python 装饰器

装饰器模式

PHP 装饰器模式

python-装饰器模式

类中的装饰器在Pycharm中抛出警告