我想知道如何正确使用 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()
这会执行回调并检查管理员组吗?或者它会发现“member_of”的值是否是一个函数定义,而一个函数定义可能总是一个“True”值(或者可能是一个 False 值)但两者都是错误的,因为它需要执行
你能启发我吗?如何确保执行回调?我怎样才能按原样传递它?