Python中基于事件处理、事件和委托的编程示例?
基本上,我是一个C#开发者,
我知道C#是怎么处理事件的,比如事件处理器、委托,甚至其他的...
但是在Python中,最好的实现方式是什么呢?
2 个回答
2
这个问题和Python观察者模式:示例和提示?很相似,后者有很多很棒的回答。里面甚至还有用Python实现类似C#事件的例子。
21
我觉得你可以使用一个函数:
def do_work_and_notify(on_done):
// do work
on_done()
def send_email_on_completion():
email_send('joe@example.com', 'you are done')
do_work_and_notify(send_email_on_completion)
在Python中,函数(甚至方法)是第一类对象,这意味着它们可以像语言中的其他任何东西一样被随意使用和传递。