小编Alo*_*nez的帖子

如何在python中使用回调函数?

我想知道如何正确使用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?
Run Code Online (Sandbox Code Playgroud)

如何在我的代码中应用和执行回调?

如果我这样说:

 if member_of('admin'):
    do_something()
  else:
    do_something_else()
Run Code Online (Sandbox Code Playgroud)

这会执行calllback并检查管理员组吗?或者它会发现"member_of"的值是否是函数定义,函数定义可能总是"True"值(或者可能是False值)但两者都是错误的,因为它需要执行

你能告诉我这件事吗?如何确保执行回调?我该如何传递它呢?

python authentication functional-programming callback python-2.7

16
推荐指数
1
解决办法
5万
查看次数

什么字符`S`代表nosetest输出

我正在外国模块上运行python nosetests.点表示测试通过.S代表什么?

c:\vendor\test>nosetests
................................................................................
........................................SS......S.S.............................
.........SSSSSSSSSSSSSSSSSS......S....SSSS.................S..S...SSSSSSSSSSSSSS
SSSSSSSSS.SSSSSSSSSSSSSSSSSSSSS..........SS.....SSSSSSS............
----------------------------------------------------------------------
Ran 327 tests in 629.369s
Run Code Online (Sandbox Code Playgroud)

这似乎很难以提及,它几乎没有被提及,在文档中,在手册页中找不到它,也没有使用谷歌.对不起我不是蟒蛇本地人.

python unit-testing nose nosetests

5
推荐指数
1
解决办法
999
查看次数

如何在cherrypy中使用全局变量?

我需要访问一个全局变量,使其状态保持不同的服务器请求.

在此示例中,全局变量是,r并且在每个请求时递增.

我怎样才能在r全球范围内实现全球化?

import cherrypy
import urllib
class Root(object):
    @cherrypy.expose

    def index(self,  **params):

        jsondict = [('foo', '1'), ('fo', '2')]
        p = urllib.urlencode(jsondict)
        if r!=1
          r=r+1
          raise cherrypy.HTTPRedirect("/index?" + p)
        return "hi"
cherrypy.config.update({

                'server.socketPort': 8080

        })
cherrypy.quickstart(Root())
if __name__ == '__main__':
    r=1
Run Code Online (Sandbox Code Playgroud)

python mako cherrypy python-3.x

5
推荐指数
1
解决办法
2017
查看次数

如何将代码转换为字符串或在方案中使用适当的空格打印?

有没有办法将代码转换为带有适当空格甚至漂亮打印的方案中的字符串?

因此,当我将其应用于类似(+ 1 2)的形式时,它应该导致"(+ 1 2)"而不是"+12".

lisp debugging macros scheme

3
推荐指数
1
解决办法
280
查看次数