发布 python-message,一个面向消息编程的程序库
赖勇浩(http://laiyonghao.com)
前段时间,我发过一篇文章(见:http://blog.csdn.net/lanphaday/archive/2010/11/29/6043605.aspx ),讲了几个我希望能够在 Python 看到的几个特性,其中第三个 message-oriented programming 是很容易实现的,所以我就尝试着把它做出来了,今天在这里公布一下。
pypi:http://pypi.python.org/pypi/message
源代码:http://code.google.com/p/python-message/
现在可以非常简单地安装,只要在命令行执行以下命令就可以了:
easy_install message
然后来个简单的示例代码:
import message def hello(name): print 'hello, %s.'%name message.sub('greet', hello) message.pub('greet', 'lai')
输出:
hello, lai.
就像所有的 publish/subscribe 模型一样,这个 message module 的作用就是解耦。与常见的 signal/slot 或 observer pattern 不同,它不需要知道谁会发出一条消息(当然,也可以知道),所以可以说是 observer pattern 的一个超集。
为什么设计成这样?嗯,受到 falcon 语言的影响颇大。
这样有什么好处?嗯,容我日后再写文章禀报吧。
发布 python-message,一个面向消息编程的程序库相关推荐
- 用python做一个木马_Python编程简单的木马程序(转载于乌云中)
Python编程简单的木马程序 light·2015/01/26 10:07 0x00准备好了 本文的内容仅用于研究和研究,不得用于非法目的! 这一次,我们使用Python编写了一个简单的木马,它具有 ...
- 都知道面向对象了,那么面向切面呢!通俗易懂带你走进面向切面编程!
什么是AOP 1.概念 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术.AOP是O ...
- micropython开发idethonny_Thonny 3.0 首个稳定版发布,一个面向初学者的 Python IDE
艾米视频电脑版下载,创意表白,蒙口羽绒服,步步高官网,韩剧 black,孙中山后代 在您的既有IT基础设施上按需构建人工智能更高效 Thonny 3.0.1 发布了,这是 Thonny 3.0 系列发 ...
- mu编程软件python使用方法_一个面向初学者的Python编辑器Mu
原标题:一个面向初学者的Python编辑器Mu Mu一个开源编辑器,是满足学生可以轻松学习编写Python代码的工具.作为初学程序员的Python编辑器,旨在使学习体验更加愉快.它使学生能够在早期体验 ...
- Python+ZeroMQ快速实现消息发布与订阅
开学第一课:拜托,一定不要这样问Python问题 中国大学MOOC"Python程序设计基础"免费学习地址 2020年秋季学期Python教材推荐与选用参考 推荐图书: <P ...
- python aop编程_学习笔记: AOP面向切面编程和C#多种实现
AOP:面向切面编程 编程思想 OOP:一切皆对象,对象交互组成功能,功能叠加组成模块,模块叠加组成系统 类--砖头 系统--房子 类--细胞 系统--人 面向对象是非常适合做大型 ...
- python实现抢票github_面向回家编程!GitHub标星两万的”Python抢票教程”,我们先帮你跑了一遍...
盼望着,盼望着, 春节的脚步近了, 然而,每年到这个时候, 最难的, 莫过于一张回家的火车票. 据悉, 今年春运期间, 全国铁路发送旅客人次同比将增长8.0%. 达到4.4亿人次, 2020年铁路春运 ...
- 用Python 80行代码实现一个微信消息撤回捕捉功能
自从微信出了这个消息撤回功能小编我都已经快被折磨死了,小编本来就是个好奇心比较重的人,微信出了这个功能之后小编感觉身体一天不如一天了,每次看着女神发来的信息又撤回,可谓是心里痒痒啊.所以小编就写了一个 ...
- ## 用python 80行代码实现一个微信消息撤回捕捉功能
自从微信出了这个消息撤回功能小编我都已经快被折磨死了,小编本来就是个好奇心比较重的人,微信出了这个功能之后小编感觉身体一天不如一天了,每次看着女神发来的信息又撤回,可谓是心里痒痒啊.所以小编就写了一个 ...
最新文章
- React入门:从零搭建一个React项目
- 【Linux】一步一步学Linux——arpd命令(184)
- 使用OData服务创建SAP C4C的Lead数据,必须指定Account字段
- 研讨会 | 知识工程与问答技术研讨会 (KEQA2018)
- CAN总线(1)--初探(更新中)
- 饮食结构思维导图模板
- 字体图标文件服务器提示404,iis环境下字体图标woff/woff2/svg返回404不显示的原因与解决方法...
- 二级计算机合格,计算机二级考试合格的分数线
- 如何写 peer review
- 黄冈市2021高考成绩查询系统,黄冈师范学院
- matlab画PV曲线程序,Matlab模拟包络线形成:Envolope程序
- 微博博主侮辱女性 街猫koryili
- 计算机直接切换到桌面,电脑怎样快速切换桌面_一键快速回到桌面的多种方法...
- VUE时间范围选择的组件
- qrcodejs华为手机无法识别二维码解决方法
- 输入roscore报错:“roscore“ not found
- 对于应届生应聘软件测试岗,面试官会问什么?
- 布系卡通创意风格六一儿童节PPT模板
- 用友U8案例教程存货核算后台配置
- 【PS/AI】18款婚礼卡模板经典古典设计水果花卉装饰矢量素材
热门文章
- cacti自定义95计费模板
- 水星UD6S网卡Linux驱动,水星UD6S无线usb网卡驱动程序下载-水星网络UD6S网卡驱动1.0 最新版-东坡下载...
- chosen用法及动态绑定值
- Js 将JSON内部key值转换大小写和首字母大写
- LK32T102学习-0
- 技术人如何通过了解业务,获取晋升机会
- 计算机崩溃用英语怎么说,“崩溃”英语怎么说
- 弘辽科技:新店如何操作才能打爆。
- 微信小程序项目初始化文件说明
- Pycharm 社区版DataBase Navigator 数据库管理插件(Plugins)安装使用(sqlite为例添加数据)