使用decorators处理python事件

Decovent的Python项目详细描述


decovent是一个小的python库,它允许 和优雅的事件上升和处理,使用装饰。

New in this version:
  • Private methods have been made public to facilitate inheritance

基本示例:

^{tt1}$

^{tt2}$
^{tt3}$
^{tt4}$

^{tt5}$
^{tt6}$
^{tt7}$

^{tt8}$
^{tt9}$

^{tt10}$
^{tt11}$
^{tt7}$

^{tt13}$
^{tt14}$
^{tt15}$
^{tt16}$
功能:
  • decovent已经用python的两个生产版本进行了测试, Python2.6.4和Python3.1.1
  • 事件和处理程序绑定到本地线程
  • 事件名称区分大小写,Unicode安全,如果是 等于修饰的方法名
  • 对于一个事件,可以根据需要注册尽可能多的处理程序
  • 为(类、事件)对注册处理程序,以区分 名称相似但由不同类引发的事件
  • 处理程序可以注册多次,但只能执行一次 对于(类,事件)对
  • 处理程序执行顺序与注册顺序相同
  • 处理程序总是在并行线程中执行,同步或 异步
  • 处理程序接收到的参数由事件发送
  • 注册时处理程序不需要参数
  • 可以将处理程序标记为只对事件运行一次,然后取消注册 本身
  • @类方法可以作为事件引发或注册为处理程序
  • 事件和处理程序可以在本地或全局级别进行记录
  • 事件和处理程序可以在同一个锁上同步
  • 为执行事件或处理程序分配的时间是可控的
  • 可以并行执行的方法的数量是可控的
限制:
  • 事件和处理程序必须是属于新样式类的方法
  • @staticmethods不能作为事件引发或注册为处理程序
  • 一个处理程序只能为一个事件注册

重要的是要理解事件和处理程序不是类而是 可能属于任何新样式类的修饰方法。没有 类本身对继承或接口的限制 已经实施。

有关功能的完整列表,请参阅文档: http://packages.python.org/Decovent

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

推荐PyPI第三方库


热门话题
正则表达式Java使用关键字拆分字符串   Neo4j Java API模式索引范围查找?   java访问JButton[]   java如何混淆tomcat日志文件中的请求属性   apache运行CGI Java程序   java从一个Eclipse插件开始,我如何通过编程使Eclipse编辑某个文件?   从php中的SQL数据库到Java中的多个值作为单独的变量   java如何在多个osgi捆绑包之间共享资源   datetime Java time,无法从历元秒解析年份   java无法在安卓应用程序中使用morpho指纹扫描仪设备捕获指纹   java使用groovy/ratpack发送电子邮件   javascript在jsp页面中添加验证,但在控制台中仍然显示一些错误   java如何修复com。mysql。jdbc。DocsConnectionPropsHelper   java AlertDialog dispatchTouchEvent