【发布时间】:2011-05-27 23:27:22
【问题描述】:
我正在处理我的第一个 Python 项目,但我的课程中已经缺少事件。也许它在 Python 中甚至不被称为事件,但我想在我的类中创建“组”,可以添加函数引用。在我班级的某个时刻,我组中的所有函数引用都会执行。
这是内置在 Python 中的吗? (我现在用的是2.7)
【问题讨论】:
-
请解释一下您所说的事件是什么意思。有例外(各种名称和目的),但它们并不是真正的事件。如果您指的是诸如“onClick”或“onKeyDown”之类的东西,您可以从内置的 Tkinter 库或其他与 Python 编写和集成的 GUI 库中获得它(据我所知,您无法集成它)使用非 GUI 程序)。您究竟在寻求什么行为?
-
也许你应该搜索“python观察者模式”。有很多关于这个主题的帖子。
-
当然可以实现。当然,stdlib 无法满足您的特定需求,因为它可能是高度特定于域的。它可能像
self.events[eventtype].add(handler)和for handler in self.events[eventtype]: handler(...)一样简单,或者根据您的需要需要更多的簿记。提供详细信息。 -
Chrono Kitsune:我正在寻求一种非常简单的行为。我有处理各种任务(托管服务器、处理数据库等)的类。我希望我的 Python 脚本能够告诉这些类对象在某个事件发生时运行给定的函数,例如
clientConnected或processingComplete。
标签: python events class python-2.7