这是博主最近一家大公司的面试题,写一个装饰器,限制函数每10s调用一次。当时是笔试的,只写了大概的代码,回来后温习了python装饰器的基础知识,把代码写完了。决定写篇博客记录下。
装饰器分为带参数得装饰器以及不带参数得装饰器。
#不带参数的装饰器
@dec1
@dec2
def func():
...
#这个函数声明等价于
func = dec1(dec2(func))
#带参数的装饰器
@dec(some_args)
def func():
...
#这个函数声明等价于
func = dec(some_args)(func)
不带参数的装饰器需要注意的一些细节
1. 关于装饰器函