Интересно, как правильно использовать функции обратного вызова python 2.7.
У меня есть некоторые функции обратного вызова из примеров Cherrypy auth в моем коде.
(Эти обратные вызовы возвращают функцию, которая может оценивать значение True или False, в зависимости от зарегистрированного пользователя, находящегося в группе или нет.)
Интересно, выполняется ли обратный вызов или нет, если я напишу фрагмент кода следующим образом:
Учитывая определение из библиотеки:
def member_of(groupname):
def check():
if groupname == 'admin':
if cherrypy.request.login == 'joe':
return True
if cherrypy.request.login == 'toni':
return True
return False
return False
# .... (other groups checked in the same way)
return check # returns a callback function from my understanding?
Как я могу применить и выполнить обратный вызов в моем коде?
Если я так выразился:
if member_of('admin'):
do_something()
else:
do_something_else()
Будет ли это выполнять calllback и проверять группу администратора? Или он выяснит, является ли значение "member_of" определением функции, а определение функции, вероятно, всегда является "истинным" значением (или, возможно, значением False), но оба являются неправильными, поскольку его необходимо выполнить
Можете ли вы просветить меня по этому поводу? Как я могу убедиться, что обратный вызов выполнен? Как я могу передать это, как есть?