有用的装饰器的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)

样本列表只有在获取锁之后才被修改

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java爬虫获取外部网站搜索结果   java Bluestack未连接到eclipse   java如何从ConstraintViolationException Hibernamte获取数据库字段名   HttpResponse HttpResponse=httpClient引发java运行时错误。执行(httpPost);   Jama中矩阵的java点积和叉积   java有什么方法可以唯一地识别可扩展设备吗?   java我需要用*来写我的名字,但我不断遇到一个错误,我对编码很陌生   java变量是在内部类中访问的。需要被宣布为最终决定。但我不想宣布最终结果   java如何缩短base64图像字符串,Android?   JavaSpringMVC:计划方法不自动触发   图形学习Java 2D API的好资源是什么?   如何在java中对方法进行排队   java JavaFX多行   java Selenium无法在[链接]上找到基于CSS元素的密码字段元素http://www.cartasi.it/gtwpages/index.jsp   Java中的equals()和hashCode()契约   软删除情况下的java Hibernate二级缓存   java为什么这段代码要两次调用这些方法?