实现描述符接口的其他装饰器

Dickens的Python项目详细描述


实现描述符接口的其他python装饰器。

用例

与内置的decoratorproperty一样,这些类通常由函数初始化并包装在类的上下文中,以便修改其行为。

缓存属性

这个decorator的功能非常类似于一个只读的property,其区别在于,在访问时,它将其结果记录在实例的对象数据字典中,该字典在查找时优先引用,从而替换该对象的自身:

from descriptors import cachedproperty

@cachedproperty
def circumference(self):
    return 2 * math.pi * self.radius

类属性

类方法的只读property

from descriptors import classproperty

@classproperty
def badpi(cls):
    return 22 / 7

缓存类属性

一个类property,它将其结果缓存在调用它的类的数据字典中(使用另一个名称,以免影响属性的继承):

from descriptors import cachedclassproperty

@cachedclassproperty
def badpi(cls):
    return 22 / 7

安装

狄更斯是一个python发行版,可以通过easy_installpip安装,例如

pip install Dickens

…或者,来源:

python setup.py install

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

推荐PyPI第三方库


热门话题
java Glassfish3+Webstart+JNLP不会启动   支持单元格选择的java行   java FTP组织。阿帕奇。平民网格式错误的ServerReplyException:截断的服务器回复:“220”   java为什么公用文件夹下的更改会触发自动重新加载?   使用Java graphics相对于线条摆动打印线条标签   java从代码中的任何位置访问HttpContext、HttpServletRequest和HttpServletResponse   java如何跳过JSON中的第一个元素   Java 安卓列表字符串带有数字和国家/地区字母的排序字符串   从文件创建响应elasticsearch响应时发生java错误   java哈希表与关键词的获取   amazon web服务如何获取特定的lambda度量统计信息,比如使用java的iteratorAge   从异步任务返回对象时出现java问题   java bufferedReader。readLine()无法读取整个文件行   如何在JavaSpring引导应用程序中跟踪用户的登录   java为什么从基类继承的子类方法不能打印自身字段的值?