EventHandler,事件,Python中基于委托的编程任何例子都会欣赏吗?

时间:2010-02-02 13:19:08

标签: python events delegates function-pointers event-handling

基本上我是C#开发人员, 我知道C#的做法,EventHandler,委托,甚至......

但最好的方法是在Python上实现它。

2 个答案:

答案 0 :(得分:18)

我认为你应该可以使用一个函数:

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中的函数(甚至方法)是一流的对象,可以像语言中的其他任何东西一样被抛出。

答案 1 :(得分:2)

这个问题很像Python Observer Pattern: Examples, Tips?,它有很多很棒的答案。甚至在Python中实现了类似C#的事件。