Pythonic事件驱动编程。
项目描述
Classy Events
Pythonic事件驱动编程。
依赖关系
Python 3.8, 3.9
安装
pip install classy-events
用法
主要成分是一个事件处理实例
from classy_events import EventHandler
event_handler = EventHandler()
您可以为任何类型的事件注册事件监听器。在这个例子中,我们使用字符串事件。事件监听器是一个可调用的对象,如函数或方法。如果事件处理程序分发特定事件,则将调用已注册的事件处理程序。任何随事件一起提供的关键字参数都将传递给事件监听器。
函数监听器
事件"spam"
的监听器,不需要回调!
@event_handler.on("spam")
def spam(value):
print(f"on 'spam': '{value}'")
当在代码的任何地方分发"spam"
事件时,将调用def spam
event_handler.dispatch("spam", value="ham and eggs")
现在打印出on 'spam': 'ham and eggs'
。
Classy监听器
要使用实例方法作为监听器,只需要多一步
class Spam:
def __init__(self):
event_handler.bind(self)
@event_handler.on("classy_spam")
def spam(self, value):
print(f"on '{type(self).__name__}.spam': '{value}'")
spam_instance = Spam()
在__init__
中,将实例绑定到处理程序。请注意,此event_handler.bind
调用不需要在__init__
中进行。
为了展示这个动作,我们分发"classy_spam"
事件
event_handler.dispatch("classy_spam", value="the classiest")
我们看到输出on 'Spam.spam': 'the classiest'
。
项目详细信息
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
classy-events-0.3.4.tar.gz (21.6 kB 查看哈希值)
构建分发版
classy_events-0.3.4-py3-none-any.whl (21.5 kB 查看哈希值)
关闭
classy-events-0.3.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3160f5b4e8acaee3b1d1c86843096fbba83b1401e5be5bf4a8e13cdb1530abd4 |
|
MD5 | 8f03745165ce13c089dd635ef8bca47f |
|
BLAKE2b-256 | 4fec6195500a1b470ef2bfa0ae0899b19afaac9fe429d1142ea56cd13cca4ba2 |
关闭
classy_events-0.3.4-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f87aa6bbe553530bc97aa300d3f8456cfe5cac10bf889cfbfdf47f6bd7357a60 |
|
MD5 | 530357e5b5595b7221f098c55a2f33fd |
|
BLAKE2b-256 | a0dfc9ed838fe45ff3485ff9a993b0d043eca7e83ba73ef1f7f021a562d50810 |