EventHandler, event, программирование на основе делегатов в Python, какой-нибудь пример, будет оценен?

В основном я разработчик С#, Я знаю, как С# делает, EventHandler, делегат, даже...

но как лучше всего реализовать его на Python.

Ответ 1

Я думаю, что вы должны использовать функцию:

def do_work_and_notify(on_done):
    // do work
    on_done()

def send_email_on_completion():
    email_send('[email protected]', 'you are done')

do_work_and_notify(send_email_on_completion)

Функции (и даже методы) в python - это объекты первого класса, которые могут перемещаться, как и все остальное на языке.

Ответ 2

Этот вопрос очень похож на Python Observer Pattern: Примеры, советы?, в котором есть много замечательных ответов. Там даже реализация С# -подобных событий в Python.