基本上我是C#开发人员, 我知道C#的做法,EventHandler,委托,甚至......
但最好的方法是在Python上实现它。
答案 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#的事件。