В основном я - разработчик C#, я знаю способ, которым C# делает, EventHandler, делегат, даже...
но что лучший способ состоит в том, чтобы реализовать его на Python.
Я думаю, что вы должны уметь использовать функцию:
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)
Функции (и даже методы) на питоне - это первоклассные объекты, которые можно разбрасывать, как и все остальное в языке.
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
по-прежнему будет допустимой вставкой.
Этот вопрос очень похож на Python Observer Pattern: Примеры, советы? , который имеет много отличных ответов. Есть даже реализация C # -образных событий в Python.