一个简单的python装饰器,用于定义只运行一次fget函数的属性

memoized-propert的Python项目详细描述


https://badge.fury.io/py/memoized-property.pnghttps://travis-ci.org/estebistec/python-memoized-property.png?branch=masterhttps://pypip.in/d/memoized-property/badge.png

一个简单的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上的第一个版本。

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

推荐PyPI第三方库


热门话题
java应用程序不是在Eclipse中运行,而是在命令行中运行   swing Java图形组件问题。似乎找不到错误   我需要键盘。close();让代码正常工作?   Springboot中的java HttpSession   抽象语法树我想添加一个语句。我试图解析它,java解析器异常被抛出。如何克服它?   java Hibernate:清理会话   具有不连续子集的java划分问题   java正则表达式查找最后一个冒号后的字符串   java从SpringShell执行OS命令   Java扫描器字符串输入   java字符串索引越界异常(charAt)   java执行器服务终止被卡住   Springockito没有继承java@ContextConfiguration   java如何为一个servlet映射多个url   java安卓获取命令的stderr   java生成类型。表:数据库中的大数字   安卓 Getter Setter返回NothingJava