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

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

но что лучший способ состоит в том, чтобы реализовать его на Python.

12
задан mjv 2 February 2010 в 13:48
поделиться

2 ответа

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

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)

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

18
ответ дан 2 December 2019 в 18:18
поделиться
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents directory

NSError *error;
BOOL succeed = [myString writeToFile:[documentsDirectory stringByAppendingPathComponent:@"myfile.txt"]
      atomically:YES encoding:NSUTF8StringEncoding error:&error];
if (!succeed){
    // Handle error here
}
-121--1649896-

Если используется прекрасная абстракция базы данных, такая как ADODb , то потребуется создать запрос вставки.

Это пример вставки с использованием ADODb :

$data['col1'] = 'value1';
$data['col2'] = 'value2';
$data['col3'] = 'value3';

$result = $adodb->AutoExecute($tablename, $data, 'INSERT');

Поскольку результат json _ кодировать уже массив , он подходит идеально. Если определение столбца в базе данных допускает null , то отсутствующий столбец в $ data по-прежнему будет допустимой вставкой.

-121--4055847-

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

2
ответ дан 2 December 2019 в 18:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: