为python写了一个事件机制 - 小川 - 博客园
为python写了一个事件机制 - 小川 - 博客园
为python写了一个事件机制本人新学PYTHON不久,问了很多人都说PYTHON没有事件机制。。 偶觉得很麻烦,就自己写了一个。
要广播事件就必须继承 EventDispatcher类, 广播的事件必须是Aevent或者其子类。
Codeclass EventDispatcher(object):
def __init__(self):
self.events = {}
def addEventListener(self,eventType,listenFunction):
if not self.events.has_key(eventType):
self.events[eventType] = []
eventList = self.events[eventType]
eventList.append(listenFunction)
def removeEventListener(self,eventType,ListenFunction):
if not self.events.has_key(eventType):
return
eventList = self.events[eventType]
eventList.remove(ListenFunction)
def dispatchEvent(self,event):
if not self.events.has_key(event.type):
return
eventList = self.events[event.type]
for fun in eventList:
fun()
def __del__(self):
keys = self.events.keys
for key in keys:
eventList = self.events[key]
for fun in eventList:
del fun
class Aevent(object):
def __init__(self,Type):
self.type = Type
使用示例代码
class Obj(EventDispatcher):
def __init__(self):
self.i = 1
EventDispatcher.__init__(self)
def addI(self):
self.i = 1 + self.i
EventDispatcher.dispatchEvent(self,Aevent('iadd'))
def onIadd():
print o.i
o = Obj()
o.addEventListener('iadd',onIadd)
o.addI() #output 2
o.addI() #output 3
o.removeEventListener('iadd',onIadd)
o.addI() #no output
转载于:https://www.cnblogs.com/lexus/archive/2012/05/11/2496591.html
为python写了一个事件机制 - 小川 - 博客园相关推荐
- 一个简单的小项目博客园(2)登录、注册页面
目录: 注册功能(使用forms组件) 登录功能(使用验证码) 注册功能(使用forms组件) 解耦合在app01中创建myforms.py from django import forms from ...
- python卖水果_小姨开水果店的,所以今天用Python写了一个水果店小系统!
原标题:小姨开水果店的,所以今天用Python写了一个水果店小系统! 前言 今天晚上才刚下班,小姨就提了我最爱吃的榴莲过来,说不吃就坏了. 我一眼就看破了她的用意,哈哈哈 我这个小姨也是一起长大的,她 ...
- 一个可编辑与新增博客园文章的 Python 脚本
我的个人独立博客是基于 Hexo 搭建的,因为小站,Google 搜索引擎收录文章比较慢,还搜不到 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻 ...
- 接口应用小玩具-博客园积分排名变动监控工具
小玩具-博客园积分排名变动监控工具 一个简单的在线服务监控和提醒工具 1 概述 前段时间自己准备重新开启自己的博客园,然后还和一些圈子里面的朋友夸下海口,自己要开始像打游戏那样,进行博客园的 天梯 ...
- python爬虫入门教程-Python爬虫入门教程——爬取自己的博客园博客
互联网时代里,网络爬虫是一种高效地信息采集利器,可以快速准确地获取网上的各种数据资源.本文使用Python库requests.Beautiful Soup爬取博客园博客的相关信息,利用txt文件转存. ...
- python爬虫教程-Python爬虫入门教程——爬取自己的博客园博客
互联网时代里,网络爬虫是一种高效地信息采集利器,可以快速准确地获取网上的各种数据资源.本文使用Python库requests.Beautiful Soup爬取博客园博客的相关信息,利用txt文件转存. ...
- 开发记录_自学Python写爬虫程序爬取csdn个人博客信息
每天刷开csdn的博客,看到一整个页面,其实对我而言,我只想看看访问量有没有上涨而已... 于是萌生了一个想法: 想写一个爬虫程序把csdn博客上边的访问量和评论数都爬下来. 打算通过网络各种搜集资料 ...
- python爬虫:两种方法模拟登录博客园
第一方法用第三方库(requests):参考http://www.mamicode.com/info-detail-1839685.html 源代码分析 博客园的登录页面非常简单,查看网页源代码,可以 ...
- python基础论文_Python基础 - 文章分类 - rwwh - 博客园
文章分类 - Python基础 摘要:参考 https://www.cnblogs.com/yuanchenqi/articles/5722574.html https://www.cnblogs.c ...
- ASP.NET Core中实现单体程序的事件发布/订阅 - LamondLu - 博客园
标题:ASP.NET Core中实现单体程序的事件发布/订阅作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/10468058.html 项目源代码:h ...
最新文章
- 一个思维习惯,让你成为架构师
- angular2.0学习日记1
- 【深度学习】人群距离监测 DeepSOCIAL 最全汉化论文+源码导读
- 管理用户和PROFILE——管理用户——修改用户
- Express 项目结构最佳实践(上)
- Python 安装MySQL数据库工具包
- CentOS7通过定时脚本阻断异常IP连接SSH(实测)
- 模式匹配算法逐步精简
- excel处理html文件,html网页显示excel表格数据-html读取本地excel文件并展示
- (计算机考研复试)计算机网络重点知识
- 以太网帧分析与IP报文结构分析(二)
- CSS超详细知识点总结2
- iOS Extension调试 无法在Xcode上进行调试
- configure: error: Package requirements (sqlite3 」 3.7.4) were not met:
- 操作系统进程调度算法——吸烟者问题
- 同步、异步 阻塞、非阻塞
- .git文件夹过大,给它瘦身
- 计算机看服务代码,帮我查 下戴尔笔记本服务代码 25822644085 服务编号 BV24VP1 (电脑出厂日期,配置)...
- 【C++】野指针及其危害
- python自动识别简单图片中的文字
热门文章
- 通信技术专业技术人员考试 动力与环境_建筑信息模型专业技术人员等级认定培训考试项目介绍...
- 复制EXCEL单元格的值到SpreadJs单元格中,会多加一个可见的空格和一个不可见的0宽度空格的解决方法(ie11)
- Horspool算法
- uri和url的区别与联系(一看就理解)
- 【AI撬动地球】超级大国政治将让位于跨国AI巨头
- 半导体芯片产业链公司大全
- html留言页面设计,html的留言板制作(js)
- 视频转rtmp流及搭建视频流服务器
- 计算机无法删除ie,ie删不掉的原因及解决方法【图解】
- 雨林木风GhostXPSP3装机版YN9.9_09.11更新