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.