有用的装饰器的python模块
deckor的Python项目详细描述
=======
德克尔
=======
用“Deckor”装饰您的功能。学习装饰器时创建的模块。
安装
=============
PIP安装Decker
支持的装饰器:
======================
*定时器:测量函数的执行时间
@decker.timer
定义事实(x):
如果x<;=0:
返回1
返回x*事实(x-1)
*cacheit:缓存中间结果
@deck.cacheit
定义事实(x):
如果x<;=0:
返回1
返回x*事实(x-1)
*trace:打印漂亮的递归跟踪
@decker.trace
定义fib(x):
如果x<;2:
返回x
返回fib(x-1)+fib(x-2)
光纤(10)
现在,尝试使用cacheit跟踪
@deck.cacheit
@decker.trace
定义fib(x):
如果x<;2:
返回x
返回fib(x-1)+fib(x-2)
光纤(10)
*with_retries:函数签名:with_retries(tries=5,delay=0,increment=0)。尝试执行函数并重试。“重试”次数。两次重试之间“延迟”秒的延迟。通过重试之间的“增量”增加延迟
@重试(5次)
定义随机值:
尝试:r=requests.get(“随机”)
除外:退货
*同步:提供非常基本的同步。注:仅用于基本用途,不具备比赛条件
导入线程
lock=线程化.lock()
示例列表=[]
@deckor.syncronize(锁定)
定义示例(示例列表):
示例列表。附加(1)
样本列表只有在获取锁之后才被修改
德克尔
=======
用“Deckor”装饰您的功能。学习装饰器时创建的模块。
安装
=============
PIP安装Decker
支持的装饰器:
======================
*定时器:测量函数的执行时间
@decker.timer
定义事实(x):
如果x<;=0:
返回1
返回x*事实(x-1)
*cacheit:缓存中间结果
@deck.cacheit
定义事实(x):
如果x<;=0:
返回1
返回x*事实(x-1)
*trace:打印漂亮的递归跟踪
@decker.trace
定义fib(x):
如果x<;2:
返回x
返回fib(x-1)+fib(x-2)
光纤(10)
现在,尝试使用cacheit跟踪
@deck.cacheit
@decker.trace
定义fib(x):
如果x<;2:
返回x
返回fib(x-1)+fib(x-2)
光纤(10)
*with_retries:函数签名:with_retries(tries=5,delay=0,increment=0)。尝试执行函数并重试。“重试”次数。两次重试之间“延迟”秒的延迟。通过重试之间的“增量”增加延迟
@重试(5次)
定义随机值:
尝试:r=requests.get(“随机”)
除外:退货
*同步:提供非常基本的同步。注:仅用于基本用途,不具备比赛条件
导入线程
lock=线程化.lock()
示例列表=[]
@deckor.syncronize(锁定)
定义示例(示例列表):
示例列表。附加(1)
样本列表只有在获取锁之后才被修改