python3 使用 上下文管理器 同时读写同一个文件

inplace 函数是个上下文管理器,为同一个文件提供了两个句柄(这个示例中的 infh 和 outfh),以便同时读写同一个文件。from contextlib import contextmanager import io import os @contextmanager def inp...

2018-04-20 10:17:17

阅读数:32

评论数:0

用__call__ 实现装饰器功能

    之前我们用函数方式写了一个装饰器: https://blog.csdn.net/a545578125/article/details/79812878    但是Graham Dumpleton 和 Lennart Regebro 两位大神认为,装饰器最好通过实现 __call__ 方法的...

2018-04-04 15:31:39

阅读数:30

评论数:0

一个参数化的注册装饰器

        为了便于启用或禁用 register 执行的函数注册功能,我们为它提供一个可选的 active 参数,设为 False 时,不注册被装饰的函数。 从概念上看,这个新的 register 函数不是装饰器,而是装饰器工厂函数。调用它会返回真正的装饰器,这才是应用到目标函数上的装饰器。为...

2018-04-04 13:26:17

阅读数:27

评论数:0

使用functools.lru_cache做备忘

标准库中最值得关注的两个装饰器是 lru_cache 和全新的 singledispatch(Python 3.4 新增)。使用functools.lru_cache做备忘functools.lru_cache 是非常实用的装饰器,它实现了备忘(memoization)功能。这是一项优化技术,它把...

2018-04-04 09:55:58

阅读数:45

评论数:0

functools.wraps 装饰器

            通常我们实现的装饰器有几个缺点:不支持关键字参数,而且遮盖了被装饰函数的 __name__ 和 __doc__ 属性。 使用functools.wraps 装饰器可以把相关的属性进行 复制到 。此外,这个新版还能正确处理关键字参数。import time import fu...

2018-04-04 09:42:58

阅读数:15

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭