Python 2.7.10Как написать простую функцию обратного вызова?
Я написал следующий код, чтобы проверить простую функцию обратного вызова.
def callback(a, b):
print('Sum = {0}'.format(a+b))
def main(callback=None):
print('Add any two digits.')
if callback != None:
callback
main(callback(1, 2))
Я получаю это когда я исполняю его:
Sum = 3
Add any two digits.
Add any two digits
Почему после Sum = 3
? Я предполагаю, что это происходит потому, что функция обратного вызова выполняется в первую очередь. Как выполнить функцию обратного вызова после выполнения всего остального кода в main()
?
Хорошая идея передать два аргумента перед вызовом назад, чтобы заставить переводчика сделать для вас какую-то работу! – erip
@erip Как вы это понимаете? Как ваш ответ? –
Я имею в виду твою - хорошая идея. :) Заставляя пользователя передавать аргументы до того, как обратный вызов гарантирует, что они существуют, есть ошибка, вызывающая 'main'. – erip