Python中基于事件处理、事件和委托的编程示例?

14 投票
2 回答
9028 浏览
提问于 2025-04-15 18:46

基本上,我是一个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中,函数(甚至方法)是第一类对象,这意味着它们可以像语言中的其他任何东西一样被随意使用和传递。

撰写回答