面向python的类驼鹿对象系统

elk的Python项目详细描述


概要

import elk


class Point(elk.Elk):
    x = elk.ElkAttribute(mode='rw', type=int)
    y = elk.ElkAttribute(mode='rw', type=int)

    def clear(self):
        self.x = 0
        self.y = 0


class Point3D(Point):
    z = elk.ElkAttribute(mode='rw', type=int)

    @elk.after('clear')
    def clear_z(self):
        self.z = 0

麋鹿是什么?

elk(homepage)是受Moose启发的python对象系统。 对于Perl。它实现了驼鹿的许多特性,包括:

  • 属性委托
  • 默认属性值
  • 惰性属性初始化
  • 只读属性
  • 必需属性
  • 属性类型约束
  • 角色
  • 方法修饰符

elk是用纯python编写的,除了 标准图书馆。

麋鹿和驼鹿有何不同?

驼鹿有许多特性还没有在麋鹿身上实现。

而麋鹿则试图忠实地实现驼鹿的范式和模式。 在python中,它使用python习惯用法和语言特性 可能的。在术语上也有一些不同 与python术语或习惯用法保持一致。

目前还没有elk扩展的名称空间,也没有任何方便的 扩展它的机制。

安装

pip install elk

许可证

麋鹿是自由软件:你可以重新发布和/或修改它 根据由 自由软件基金会,或者许可证的第3版,或者 (由您选择)任何更高版本。

贡献

麋鹿源代码可以从 https://github.com/frasertweedale/elk

错误报告、修补程序、功能请求、代码检查和 欢迎提供文件。

若要提交修补程序,请使用git send-email或生成拉取 请求。写一张well formed commit message。如果你的补丁是 重要的是,更新每个更改顶部的版权声明 文件。

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

推荐PyPI第三方库


热门话题
java将一个节点拖到另一个不运行JavaFX的节点中   java如何在spring boot中创建完全自定义的查询   java Arraylist和ArrayListBlockingQueue之间的区别是什么?   java Weblogic会中断长时间运行的线程吗   java如何调用displayAd()方法?   使用数组在两个组之间进行java IPL匹配   java如何在Eclipse中的org下创建测试套件。朱尼特   java获取屏幕上任意点的鼠标坐标   正则表达式需要java正则表达式方面的帮助   如何使用Java获取Ram大小和硬盘大小?   java如何将所需长度设置为数组中的整数?   安卓应用程序启动前的java程序已终止   swing设置要在Java代码中打印的页边距   迭代期间java故障安全迭代器的删除   java如何在main中调用方法,以便它们在同一行上输出?   编译Java:尝试播放mp3文件时出错   java如何使用Spring数据Rest在POST调用中保存嵌入对象   java JAXWS如何在端点外部注入SecurityContext