一种面向对象的事件处理框架,其中事件由类注册,然后由单个对象广播。从特定对象监听事件很容易。
KeepMePosted的Python项目详细描述
该模块提供了一个面向对象的事件处理框架。在这个 框架中,事件由类注册,然后由个人广播 物体。从特定对象监听事件很容易。
安装
keepmposted可以从pypi安装:
$ pip install kemepo
您还可以直接从github下载源代码。代码是制定的 根据麻省理工学院的许可证。如果您发现代码有用并希望 改进,随时提出请求:
$ git clone https://github.com/kalekundert/KeepMePosted.git kemepo
简单示例
这个框架最重要的部分是dispatcher类和 event()装饰器。Dispatcher是要 广播事件,事件装饰器用于注册事件。
>>> from kemepo import Dispatcher, event >>> class Button (Dispatcher): @event def on_press(self): print('Calling internal handler')
event()修饰的方法被认为是“内部处理程序”,不同于 来自任何“外部观察者”,稍后可以使用connect()附加。 当使用handle()触发事件时,将调用内部处理程序 在外部观察员面前。
>>> button = Button() >>> button.connect(on_press=lambda: print('Calling external observer.')) >>> button.handle('on_press') Calling internal handler. Calling external observer.
完整文档
此模块的完整文档由ReadTheDocs托管。