一个简单的python装饰器,用于定义只运行一次fget函数的属性
memoized-propert的Python项目详细描述
一个简单的python装饰器,用于定义只运行一次fget函数的属性。
- 免费软件:BSD许可证
什么?
只调用其fget函数一次的python属性。你写了多少遍了 此代码(或类似代码)?
def class C(object): @property def name(self): if not hasattr(self, '_name'): self._name = some_expensive_load() return self._name
我已经写了足够的时间,足够恼火捕捉到这个模块。结果是:
from memoized_property import memoized_property def class C(object): @memoized_property def name(self): # Boilerplate guard conditional avoided, but this is still only called once return some_expensive_load()
为什么?
我在PyPI上找不到一个预先存在的版本。我在Github上找到另一个, https://github.com/ytyng/python-memoized-property,但它没有发布到pypi。历史记录
1.0.3(2016-09-28)
- 制造通用车轮
- 支持Python3.4、3.5
1.0.2(2014-05-02)
- 删除对6的依赖性
1.0.1(2014-01-01)
- 增加了python 3.2兼容性
1.0.0(2013-12-26)
- pypi上的第一个版本。