python函数调用次数_Python装饰器-限制函数调用次数的方法

最近有小伙伴留言说自己去面试时遇到公司让写一个装饰器,限制函数每10s调用一次。本篇文章扣丁学堂小编就和大家分享一下Python装饰器-限制函数调用次数的方法(10s调用一次),对Python开发感兴趣的小伙伴就随着小编一起来了解一下吧。

Python装饰器-限制函数调用次数的方法

装饰器分为带参数得装饰器以及不带参数得装饰器。

#不带参数的装饰器

@dec1

@dec2

def func():

...

#这个函数声明等价于

func = dec1(dec2(func))

#带参数的装饰器

@dec(some_args)

def func():

...

#这个函数声明等价于

func = dec(some_args)(func)

不带参数的装饰器需要注意的一些细节。

1. 关于装饰器函数(decorator)本身

因此一个装饰器一般对应两个函数,一个是decorator函数,用来进行一些初始化操作处理,一个是decorated_func用来实现对被装饰的函数func的额外处理。并且为了保持对func的引用,decorated_func一般作为decorator的内部函数:

def decorator(func):

def decorator_func()

func()

return decorated_func

decorator函数只在函数声明的时候被调用一次

装饰器实际上是语法糖,在声明函数之后就会被调用,产生dec

你可能感兴趣的:(python函数调用次数)