标签 装饰器 下的文章

Python使用functools.lru_cache做备忘(缓存)

Python使用functools.lru_cache做备忘(缓存)记得上一次我写关于装饰器的blog的时候我就留下了一点疑问就是别人说的用装饰器进行缓存到底是什么意思啊.经过那么长时间的充电感觉自己学到了很多.这里呢就和大家分享一下我对于 Python 做缓存的理解.functools.lru_cache 是非常实用的装饰器,它实现了备忘录(memoization)功能.这是一项优化技术,...

admin@copie.cn 2017 年 12 月 05 日 暂无评论

Python-生成器(1)

Python-生成器(1)用生成器创建新的迭代模式我们要实现一个自定义的迭代模式,让他区别于常见的内建函数(即 range(), reversed())例子1我们要实现一个新的迭代模式, 产生: 从 start -> stop 间隔 increment 的 浮点数def frange(start,stop,increment=0.1): x = start while ...

admin@copie.cn 2017 年 10 月 21 日 暂无评论

Python装饰器-入门再探

Python装饰器-入门再探装饰器的副作用上面的 blog 我们明白了 有一个新的对象替代原来的对象虽然他们的名字是一样的。但是他的元属性就不见了。看一下下面的例子。def log(fun): def wrapper(): print("运行-> ",fun.__name__) fun() print(fun....

admin@copie.cn 2017 年 10 月 18 日 暂无评论

Python 装饰器-准备篇

Python 装饰器-准备篇上一篇我们了解到了装饰器的一些基础的用法。这篇blog呢就对于装饰器进行进一步的学习。基础了解如和定义一个不定函数参数个数的函数呢?用这个 * 和 ** 来实现 为什么要用*args 和 **kwargs 呢 因为大家都是这样用的当然你可以换成想用的。def add(a, b, *args, **kwargs): # a, b begin prin...

admin@copie.cn 2017 年 10 月 16 日 暂无评论

Python装饰器-LEGB命名空间

Python装饰器-LEGB命名空间之所以我把命名空间和装饰器一起学习,是因为学装饰器前要理解闭包,毕竟装饰器就是对闭包的使用。要学闭包就要对Python的命名空间有了解。这样才会不什么都搞不懂。命名空间命名空间(namespace) : 名字(标识符)到对象的映射。简而言之,命名空间 可以理解为: 记录对象和对象名字对应关系的空间;现在Python的大部分命名空间是通过字典实现的,也就是一...

admin@copie.cn 2017 年 10 月 16 日 暂无评论

Python 装饰器-入门篇

Python 装饰器-入门篇一般来说 "装饰器"(decorator)是个单参数的函数, 其参数是一个函数,装饰器返回的新函数与经由参数传入的原函数名相同, 但功能更强。框架(例如 WEB 框架)经常通过装饰器把用户所编写的函数集成进来。由于装饰器模式非常有用, 所以 Python 提供了原生支持。 在Python 语言中,函数与方法都可以用装饰器来装饰。此外还有"类装饰器"(class d...

admin@copie.cn 2017 年 10 月 15 日 暂无评论